home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / libogg / libvorbis-1.0rc3 / ltmain.sh < prev    next >
Encoding:
Text File  |  2002-10-27  |  137.6 KB  |  5,030 lines

  1. # ltmain.sh - Provide generalized library-building support services.
  2. # NOTE: Changing this file will not affect anything until you rerun configure.
  3. #
  4. # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
  5. # Free Software Foundation, Inc.
  6. # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  7. #
  8. # This program is free software; you can redistribute it and/or modify
  9. # it under the terms of the GNU General Public License as published by
  10. # the Free Software Foundation; either version 2 of the License, or
  11. # (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful, but
  14. # WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16. # General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21. #
  22. # As a special exception to the GNU General Public License, if you
  23. # distribute this file as part of a program that contains a
  24. # configuration script generated by Autoconf, you may include it under
  25. # the same distribution terms that you use for the rest of that program.
  26.  
  27. # Check that we have a working $echo.
  28. if test "X$1" = X--no-reexec; then
  29.   # Discard the --no-reexec flag, and continue.
  30.   shift
  31. elif test "X$1" = X--fallback-echo; then
  32.   # Avoid inline document here, it may be left over
  33.   :
  34. elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
  35.   # Yippee, $echo works!
  36.   :
  37. else
  38.   # Restart under the correct shell, and then maybe $echo will work.
  39.   exec $SHELL "$0" --no-reexec ${1+"$@"}
  40. fi
  41.  
  42. if test "X$1" = X--fallback-echo; then
  43.   # used as fallback echo
  44.   shift
  45.   cat <<EOF
  46. $*
  47. EOF
  48.   exit 0
  49. fi
  50.  
  51. # The name of this program.
  52. progname=`$echo "$0" | sed 's%^.*/%%'`
  53. modename="$progname"
  54.  
  55. # Constants.
  56. PROGRAM=ltmain.sh
  57. PACKAGE=libtool
  58. VERSION=1.4.2a
  59. TIMESTAMP=" (1.922.2.79 2001/11/28 21:50:31)"
  60.  
  61. default_mode=
  62. help="Try \`$progname --help' for more information."
  63. magic="%%%MAGIC variable%%%"
  64. mkdir="mkdir"
  65. mv="mv -f"
  66. rm="rm -f"
  67.  
  68. # Sed substitution that helps us do robust quoting.  It backslashifies
  69. # metacharacters that are still active within double-quoted strings.
  70. Xsed='sed -e 1s/^X//'
  71. sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
  72. SP2NL='tr \040 \012'
  73. NL2SP='tr \015\012 \040\040'
  74.  
  75. # NLS nuisances.
  76. # Only set LANG and LC_ALL to C if already set.
  77. # These must not be set unconditionally because not all systems understand
  78. # e.g. LANG=C (notably SCO).
  79. # We save the old values to restore during execute mode.
  80. if test "${LC_ALL+set}" = set; then
  81.   save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
  82. fi
  83. if test "${LANG+set}" = set; then
  84.   save_LANG="$LANG"; LANG=C; export LANG
  85. fi
  86.  
  87. # Make sure IFS has a sensible default
  88. : ${IFS="     "}
  89.  
  90. if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
  91.   echo "$modename: not configured to build any kind of library" 1>&2
  92.   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  93.   exit 1
  94. fi
  95.  
  96. # Global variables.
  97. mode=$default_mode
  98. nonopt=
  99. prev=
  100. prevopt=
  101. run=
  102. show="$echo"
  103. show_help=
  104. execute_dlfiles=
  105. lo2o="s/\\.lo\$/.${objext}/"
  106. o2lo="s/\\.${objext}\$/.lo/"
  107.  
  108. # Parse our command line options once, thoroughly.
  109. while test $# -gt 0
  110. do
  111.   arg="$1"
  112.   shift
  113.  
  114.   case $arg in
  115.   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
  116.   *) optarg= ;;
  117.   esac
  118.  
  119.   # If the previous option needs an argument, assign it.
  120.   if test -n "$prev"; then
  121.     case $prev in
  122.     execute_dlfiles)
  123.       execute_dlfiles="$execute_dlfiles $arg"
  124.       ;;
  125.     *)
  126.       eval "$prev=\$arg"
  127.       ;;
  128.     esac
  129.  
  130.     prev=
  131.     prevopt=
  132.     continue
  133.   fi
  134.  
  135.   # Have we seen a non-optional argument yet?
  136.   case $arg in
  137.   --help)
  138.     show_help=yes
  139.     ;;
  140.  
  141.   --version)
  142.     echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
  143.     exit 0
  144.     ;;
  145.  
  146.   --config)
  147.     sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
  148.     exit 0
  149.     ;;
  150.  
  151.   --debug)
  152.     echo "$progname: enabling shell trace mode"
  153.     set -x
  154.     ;;
  155.  
  156.   --dry-run | -n)
  157.     run=:
  158.     ;;
  159.  
  160.   --features)
  161.     echo "host: $host"
  162.     if test "$build_libtool_libs" = yes; then
  163.       echo "enable shared libraries"
  164.     else
  165.       echo "disable shared libraries"
  166.     fi
  167.     if test "$build_old_libs" = yes; then
  168.       echo "enable static libraries"
  169.     else
  170.       echo "disable static libraries"
  171.     fi
  172.     exit 0
  173.     ;;
  174.  
  175.   --finish) mode="finish" ;;
  176.  
  177.   --mode) prevopt="--mode" prev=mode ;;
  178.   --mode=*) mode="$optarg" ;;
  179.  
  180.   --preserve-dup-deps) duplicate_deps="yes" ;;
  181.  
  182.   --quiet | --silent)
  183.     show=:
  184.     ;;
  185.  
  186.   -dlopen)
  187.     prevopt="-dlopen"
  188.     prev=execute_dlfiles
  189.     ;;
  190.  
  191.   -*)
  192.     $echo "$modename: unrecognized option \`$arg'" 1>&2
  193.     $echo "$help" 1>&2
  194.     exit 1
  195.     ;;
  196.  
  197.   *)
  198.     nonopt="$arg"
  199.     break
  200.     ;;
  201.   esac
  202. done
  203.  
  204. if test -n "$prevopt"; then
  205.   $echo "$modename: option \`$prevopt' requires an argument" 1>&2
  206.   $echo "$help" 1>&2
  207.   exit 1
  208. fi
  209.  
  210. # If this variable is set in any of the actions, the command in it
  211. # will be execed at the end.  This prevents here-documents from being
  212. # left over by shells.
  213. exec_cmd=
  214.  
  215. if test -z "$show_help"; then
  216.  
  217.   # Infer the operation mode.
  218.   if test -z "$mode"; then
  219.     case $nonopt in
  220.     *cc | *++ | gcc* | *-gcc*)
  221.       mode=link
  222.       for arg
  223.       do
  224.     case $arg in
  225.     -c)
  226.        mode=compile
  227.        break
  228.        ;;
  229.     esac
  230.       done
  231.       ;;
  232.     *db | *dbx | *strace | *truss)
  233.       mode=execute
  234.       ;;
  235.     *install*|cp|mv)
  236.       mode=install
  237.       ;;
  238.     *rm)
  239.       mode=uninstall
  240.       ;;
  241.     *)
  242.       # If we have no mode, but dlfiles were specified, then do execute mode.
  243.       test -n "$execute_dlfiles" && mode=execute
  244.  
  245.       # Just use the default operation mode.
  246.       if test -z "$mode"; then
  247.     if test -n "$nonopt"; then
  248.       $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
  249.     else
  250.       $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
  251.     fi
  252.       fi
  253.       ;;
  254.     esac
  255.   fi
  256.  
  257.   # Only execute mode is allowed to have -dlopen flags.
  258.   if test -n "$execute_dlfiles" && test "$mode" != execute; then
  259.     $echo "$modename: unrecognized option \`-dlopen'" 1>&2
  260.     $echo "$help" 1>&2
  261.     exit 1
  262.   fi
  263.  
  264.   # Change the help message to a mode-specific one.
  265.   generic_help="$help"
  266.   help="Try \`$modename --help --mode=$mode' for more information."
  267.  
  268.   # These modes are in order of execution frequency so that they run quickly.
  269.   case $mode in
  270.   # libtool compile mode
  271.   compile)
  272.     modename="$modename: compile"
  273.     # Get the compilation command and the source file.
  274.     base_compile=
  275.     prev=
  276.     lastarg=
  277.     srcfile="$nonopt"
  278.     suppress_output=
  279.  
  280.     user_target=no
  281.     for arg
  282.     do
  283.       case $prev in
  284.       "") ;;
  285.       xcompiler)
  286.     # Aesthetically quote the previous argument.
  287.     prev=
  288.     lastarg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  289.  
  290.     case $arg in
  291.     # Double-quote args containing other shell metacharacters.
  292.     # Many Bourne shells cannot handle close brackets correctly
  293.     # in scan sets, so we specify it separately.
  294.     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  295.       arg="\"$arg\""
  296.       ;;
  297.     esac
  298.  
  299.     # Add the previous argument to base_compile.
  300.     if test -z "$base_compile"; then
  301.       base_compile="$lastarg"
  302.     else
  303.       base_compile="$base_compile $lastarg"
  304.     fi
  305.     continue
  306.     ;;
  307.       esac
  308.  
  309.       # Accept any command-line options.
  310.       case $arg in
  311.       -o)
  312.     if test "$user_target" != "no"; then
  313.       $echo "$modename: you cannot specify \`-o' more than once" 1>&2
  314.       exit 1
  315.     fi
  316.     user_target=next
  317.     ;;
  318.  
  319.       -static)
  320.     build_old_libs=yes
  321.     continue
  322.     ;;
  323.  
  324.       -prefer-pic)
  325.     pic_mode=yes
  326.     continue
  327.     ;;
  328.  
  329.       -prefer-non-pic)
  330.     pic_mode=no
  331.     continue
  332.     ;;
  333.  
  334.       -Xcompiler)
  335.     prev=xcompiler
  336.     continue
  337.     ;;
  338.  
  339.       -Wc,*)
  340.     args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
  341.     lastarg=
  342.     save_ifs="$IFS"; IFS=','
  343.     for arg in $args; do
  344.       IFS="$save_ifs"
  345.  
  346.       # Double-quote args containing other shell metacharacters.
  347.       # Many Bourne shells cannot handle close brackets correctly
  348.       # in scan sets, so we specify it separately.
  349.       case $arg in
  350.         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  351.         arg="\"$arg\""
  352.         ;;
  353.       esac
  354.       lastarg="$lastarg $arg"
  355.     done
  356.     IFS="$save_ifs"
  357.     lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
  358.  
  359.     # Add the arguments to base_compile.
  360.     if test -z "$base_compile"; then
  361.       base_compile="$lastarg"
  362.     else
  363.       base_compile="$base_compile $lastarg"
  364.     fi
  365.     continue
  366.     ;;
  367.       esac
  368.  
  369.       case $user_target in
  370.       next)
  371.     # The next one is the -o target name
  372.     user_target=yes
  373.     continue
  374.     ;;
  375.       yes)
  376.     # We got the output file
  377.     user_target=set
  378.     libobj="$arg"
  379.     continue
  380.     ;;
  381.       esac
  382.  
  383.       # Accept the current argument as the source file.
  384.       lastarg="$srcfile"
  385.       srcfile="$arg"
  386.  
  387.       # Aesthetically quote the previous argument.
  388.  
  389.       # Backslashify any backslashes, double quotes, and dollar signs.
  390.       # These are the only characters that are still specially
  391.       # interpreted inside of double-quoted scrings.
  392.       lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
  393.  
  394.       # Double-quote args containing other shell metacharacters.
  395.       # Many Bourne shells cannot handle close brackets correctly
  396.       # in scan sets, so we specify it separately.
  397.       case $lastarg in
  398.       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  399.     lastarg="\"$lastarg\""
  400.     ;;
  401.       esac
  402.  
  403.       # Add the previous argument to base_compile.
  404.       if test -z "$base_compile"; then
  405.     base_compile="$lastarg"
  406.       else
  407.     base_compile="$base_compile $lastarg"
  408.       fi
  409.     done
  410.  
  411.     case $user_target in
  412.     set)
  413.       ;;
  414.     no)
  415.       # Get the name of the library object.
  416.       libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
  417.       ;;
  418.     *)
  419.       $echo "$modename: you must specify a target with \`-o'" 1>&2
  420.       exit 1
  421.       ;;
  422.     esac
  423.  
  424.     # Recognize several different file suffixes.
  425.     # If the user specifies -o file.o, it is replaced with file.lo
  426.     xform='[cCFSfmso]'
  427.     case $libobj in
  428.     *.ada) xform=ada ;;
  429.     *.adb) xform=adb ;;
  430.     *.ads) xform=ads ;;
  431.     *.asm) xform=asm ;;
  432.     *.c++) xform=c++ ;;
  433.     *.cc) xform=cc ;;
  434.     *.cpp) xform=cpp ;;
  435.     *.cxx) xform=cxx ;;
  436.     *.f90) xform=f90 ;;
  437.     *.for) xform=for ;;
  438.     esac
  439.  
  440.     libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
  441.  
  442.     case $libobj in
  443.     *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
  444.     *)
  445.       $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
  446.       exit 1
  447.       ;;
  448.     esac
  449.  
  450.     if test -z "$base_compile"; then
  451.       $echo "$modename: you must specify a compilation command" 1>&2
  452.       $echo "$help" 1>&2
  453.       exit 1
  454.     fi
  455.  
  456.     # Delete any leftover library objects.
  457.     if test "$build_old_libs" = yes; then
  458.       removelist="$obj $libobj"
  459.     else
  460.       removelist="$libobj"
  461.     fi
  462.  
  463.     $run $rm $removelist
  464.     trap "$run $rm $removelist; exit 1" 1 2 15
  465.  
  466.     # On Cygwin there's no "real" PIC flag so we must build both object types
  467.     case $host_os in
  468.     cygwin* | mingw* | pw32* | os2*)
  469.       pic_mode=default
  470.       ;;
  471.     esac
  472.     if test $pic_mode = no && test "$deplibs_check_method" != pass_all; then
  473.       # non-PIC code in shared libraries is not supported
  474.       pic_mode=default
  475.     fi
  476.  
  477.     # Calculate the filename of the output object if compiler does
  478.     # not support -o with -c
  479.     if test "$compiler_c_o" = no; then
  480.       output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
  481.       lockfile="$output_obj.lock"
  482.       removelist="$removelist $output_obj $lockfile"
  483.       trap "$run $rm $removelist; exit 1" 1 2 15
  484.     else
  485.       need_locks=no
  486.       lockfile=
  487.     fi
  488.  
  489.     # Lock this critical section if it is needed
  490.     # We use this script file to make the link, it avoids creating a new file
  491.     if test "$need_locks" = yes; then
  492.       until $run ln "$0" "$lockfile" 2>/dev/null; do
  493.     $show "Waiting for $lockfile to be removed"
  494.     sleep 2
  495.       done
  496.     elif test "$need_locks" = warn; then
  497.       if test -f "$lockfile"; then
  498.     echo "\
  499. *** ERROR, $lockfile exists and contains:
  500. `cat $lockfile 2>/dev/null`
  501.  
  502. This indicates that another process is trying to use the same
  503. temporary object file, and libtool could not work around it because
  504. your compiler does not support \`-c' and \`-o' together.  If you
  505. repeat this compilation, it may succeed, by chance, but you had better
  506. avoid parallel builds (make -j) in this platform, or get a better
  507. compiler."
  508.  
  509.     $run $rm $removelist
  510.     exit 1
  511.       fi
  512.       echo $srcfile > "$lockfile"
  513.     fi
  514.  
  515.     if test -n "$fix_srcfile_path"; then
  516.       eval srcfile=\"$fix_srcfile_path\"
  517.     fi
  518.  
  519.     # Only build a PIC object if we are building libtool libraries.
  520.     if test "$build_libtool_libs" = yes; then
  521.       # Without this assignment, base_compile gets emptied.
  522.       fbsd_hideous_sh_bug=$base_compile
  523.  
  524.       if test "$pic_mode" != no; then
  525.     # All platforms use -DPIC, to notify preprocessed assembler code.
  526.     command="$base_compile $srcfile $pic_flag -DPIC"
  527.       else
  528.     # Don't build PIC code
  529.     command="$base_compile $srcfile"
  530.       fi
  531.       if test "$build_old_libs" = yes; then
  532.     lo_libobj="$libobj"
  533.     dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
  534.     if test "X$dir" = "X$libobj"; then
  535.       dir="$objdir"
  536.     else
  537.       dir="$dir/$objdir"
  538.     fi
  539.     libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
  540.  
  541.     if test -d "$dir"; then
  542.       $show "$rm $libobj"
  543.       $run $rm $libobj
  544.     else
  545.       $show "$mkdir $dir"
  546.       $run $mkdir $dir
  547.       status=$?
  548.       if test $status -ne 0 && test ! -d $dir; then
  549.         exit $status
  550.       fi
  551.     fi
  552.       fi
  553.       if test "$compiler_o_lo" = yes; then
  554.     output_obj="$libobj"
  555.     command="$command -o $output_obj"
  556.       elif test "$compiler_c_o" = yes; then
  557.     output_obj="$obj"
  558.     command="$command -o $output_obj"
  559.       fi
  560.  
  561.       $run $rm "$output_obj"
  562.       $show "$command"
  563.       if $run eval "$command"; then :
  564.       else
  565.     test -n "$output_obj" && $run $rm $removelist
  566.     exit 1
  567.       fi
  568.  
  569.       if test "$need_locks" = warn &&
  570.      test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  571.     echo "\
  572. *** ERROR, $lockfile contains:
  573. `cat $lockfile 2>/dev/null`
  574.  
  575. but it should contain:
  576. $srcfile
  577.  
  578. This indicates that another process is trying to use the same
  579. temporary object file, and libtool could not work around it because
  580. your compiler does not support \`-c' and \`-o' together.  If you
  581. repeat this compilation, it may succeed, by chance, but you had better
  582. avoid parallel builds (make -j) in this platform, or get a better
  583. compiler."
  584.  
  585.     $run $rm $removelist
  586.     exit 1
  587.       fi
  588.  
  589.       # Just move the object if needed, then go on to compile the next one
  590.       if test x"$output_obj" != x"$libobj"; then
  591.     $show "$mv $output_obj $libobj"
  592.     if $run $mv $output_obj $libobj; then :
  593.     else
  594.       error=$?
  595.       $run $rm $removelist
  596.       exit $error
  597.     fi
  598.       fi
  599.  
  600.       # If we have no pic_flag, then copy the object into place and finish.
  601.       if (test -z "$pic_flag" || test "$pic_mode" != default) &&
  602.      test "$build_old_libs" = yes; then
  603.     # Rename the .lo from within objdir to obj
  604.     if test -f $obj; then
  605.       $show $rm $obj
  606.       $run $rm $obj
  607.     fi
  608.  
  609.     $show "$mv $libobj $obj"
  610.     if $run $mv $libobj $obj; then :
  611.     else
  612.       error=$?
  613.       $run $rm $removelist
  614.       exit $error
  615.     fi
  616.  
  617.     xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
  618.     if test "X$xdir" = "X$obj"; then
  619.       xdir="."
  620.     else
  621.       xdir="$xdir"
  622.     fi
  623.     baseobj=`$echo "X$obj" | $Xsed -e "s%.*/%%"`
  624.     libobj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
  625.     # Now arrange that obj and lo_libobj become the same file
  626.     $show "(cd $xdir && $LN_S $baseobj $libobj)"
  627.     if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
  628.       # Unlock the critical section if it was locked
  629.       if test "$need_locks" != no; then
  630.         $run $rm "$lockfile"
  631.       fi
  632.       exit 0
  633.     else
  634.       error=$?
  635.       $run $rm $removelist
  636.       exit $error
  637.     fi
  638.       fi
  639.  
  640.       # Allow error messages only from the first compilation.
  641.       suppress_output=' >/dev/null 2>&1'
  642.     fi
  643.  
  644.     # Only build a position-dependent object if we build old libraries.
  645.     if test "$build_old_libs" = yes; then
  646.       if test "$pic_mode" != yes; then
  647.     # Don't build PIC code
  648.     command="$base_compile $srcfile"
  649.       else
  650.     # All platforms use -DPIC, to notify preprocessed assembler code.
  651.     command="$base_compile $srcfile $pic_flag -DPIC"
  652.       fi
  653.       if test "$compiler_c_o" = yes; then
  654.     command="$command -o $obj"
  655.     output_obj="$obj"
  656.       fi
  657.  
  658.       # Suppress compiler output if we already did a PIC compilation.
  659.       command="$command$suppress_output"
  660.       $run $rm "$output_obj"
  661.       $show "$command"
  662.       if $run eval "$command"; then :
  663.       else
  664.     $run $rm $removelist
  665.     exit 1
  666.       fi
  667.  
  668.       if test "$need_locks" = warn &&
  669.      test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
  670.     echo "\
  671. *** ERROR, $lockfile contains:
  672. `cat $lockfile 2>/dev/null`
  673.  
  674. but it should contain:
  675. $srcfile
  676.  
  677. This indicates that another process is trying to use the same
  678. temporary object file, and libtool could not work around it because
  679. your compiler does not support \`-c' and \`-o' together.  If you
  680. repeat this compilation, it may succeed, by chance, but you had better
  681. avoid parallel builds (make -j) in this platform, or get a better
  682. compiler."
  683.  
  684.     $run $rm $removelist
  685.     exit 1
  686.       fi
  687.  
  688.       # Just move the object if needed
  689.       if test x"$output_obj" != x"$obj"; then
  690.     $show "$mv $output_obj $obj"
  691.     if $run $mv $output_obj $obj; then :
  692.     else
  693.       error=$?
  694.       $run $rm $removelist
  695.       exit $error
  696.     fi
  697.       fi
  698.  
  699.       # Create an invalid libtool object if no PIC, so that we do not
  700.       # accidentally link it into a program.
  701.       if test "$build_libtool_libs" != yes; then
  702.     $show "echo timestamp > $libobj"
  703.     $run eval "echo timestamp > \$libobj" || exit $?
  704.       else
  705.     # Move the .lo from within objdir
  706.     $show "$mv $libobj $lo_libobj"
  707.     if $run $mv $libobj $lo_libobj; then :
  708.     else
  709.       error=$?
  710.       $run $rm $removelist
  711.       exit $error
  712.     fi
  713.       fi
  714.     fi
  715.  
  716.     # Unlock the critical section if it was locked
  717.     if test "$need_locks" != no; then
  718.       $run $rm "$lockfile"
  719.     fi
  720.  
  721.     exit 0
  722.     ;;
  723.  
  724.   # libtool link mode
  725.   link | relink)
  726.     modename="$modename: link"
  727.     case $host in
  728.     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  729.       # It is impossible to link a dll without this setting, and
  730.       # we shouldn't force the makefile maintainer to figure out
  731.       # which system we are compiling for in order to pass an extra
  732.       # flag for every libtool invokation.
  733.       # allow_undefined=no
  734.  
  735.       # FIXME: Unfortunately, there are problems with the above when trying
  736.       # to make a dll which has undefined symbols, in which case not
  737.       # even a static library is built.  For now, we need to specify
  738.       # -no-undefined on the libtool link line when we can be certain
  739.       # that all symbols are satisfied, otherwise we get a static library.
  740.       allow_undefined=yes
  741.       ;;
  742.     *)
  743.       allow_undefined=yes
  744.       ;;
  745.     esac
  746.     libtool_args="$nonopt"
  747.     compile_command="$nonopt"
  748.     finalize_command="$nonopt"
  749.  
  750.     compile_rpath=
  751.     finalize_rpath=
  752.     compile_shlibpath=
  753.     finalize_shlibpath=
  754.     convenience=
  755.     old_convenience=
  756.     deplibs=
  757.     old_deplibs=
  758.     compiler_flags=
  759.     linker_flags=
  760.     dllsearchpath=
  761.     lib_search_path=`pwd`
  762.  
  763.     avoid_version=no
  764.     dlfiles=
  765.     dlprefiles=
  766.     dlself=no
  767.     export_dynamic=no
  768.     export_symbols=
  769.     export_symbols_regex=
  770.     generated=
  771.     libobjs=
  772.     ltlibs=
  773.     module=no
  774.     no_install=no
  775.     objs=
  776.     prefer_static_libs=no
  777.     preload=no
  778.     prev=
  779.     prevarg=
  780.     release=
  781.     rpath=
  782.     xrpath=
  783.     perm_rpath=
  784.     temp_rpath=
  785.     thread_safe=no
  786.     vinfo=
  787.  
  788.     # We need to know -static, to get the right output filenames.
  789.     for arg
  790.     do
  791.       case $arg in
  792.       -all-static | -static)
  793.     if test "X$arg" = "X-all-static"; then
  794.       if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
  795.         $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
  796.       fi
  797.       if test -n "$link_static_flag"; then
  798.         dlopen_self=$dlopen_self_static
  799.       fi
  800.     else
  801.       if test -z "$pic_flag" && test -n "$link_static_flag"; then
  802.         dlopen_self=$dlopen_self_static
  803.       fi
  804.     fi
  805.     build_libtool_libs=no
  806.     build_old_libs=yes
  807.     prefer_static_libs=yes
  808.     break
  809.     ;;
  810.       esac
  811.     done
  812.  
  813.     # See if our shared archives depend on static archives.
  814.     test -n "$old_archive_from_new_cmds" && build_old_libs=yes
  815.  
  816.     # Go through the arguments, transforming them on the way.
  817.     while test $# -gt 0; do
  818.       arg="$1"
  819.       shift
  820.       case $arg in
  821.       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  822.     qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
  823.     ;;
  824.       *) qarg=$arg ;;
  825.       esac
  826.       libtool_args="$libtool_args $qarg"
  827.  
  828.       # If the previous option needs an argument, assign it.
  829.       if test -n "$prev"; then
  830.     case $prev in
  831.     output)
  832.       compile_command="$compile_command @OUTPUT@"
  833.       finalize_command="$finalize_command @OUTPUT@"
  834.       ;;
  835.     esac
  836.  
  837.     case $prev in
  838.     dlfiles|dlprefiles)
  839.       if test "$preload" = no; then
  840.         # Add the symbol object into the linking commands.
  841.         compile_command="$compile_command @SYMFILE@"
  842.         finalize_command="$finalize_command @SYMFILE@"
  843.         preload=yes
  844.       fi
  845.       case $arg in
  846.       *.la | *.lo) ;;  # We handle these cases below.
  847.       force)
  848.         if test "$dlself" = no; then
  849.           dlself=needless
  850.           export_dynamic=yes
  851.         fi
  852.         prev=
  853.         continue
  854.         ;;
  855.       self)
  856.         if test "$prev" = dlprefiles; then
  857.           dlself=yes
  858.         elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
  859.           dlself=yes
  860.         else
  861.           dlself=needless
  862.           export_dynamic=yes
  863.         fi
  864.         prev=
  865.         continue
  866.         ;;
  867.       *)
  868.         if test "$prev" = dlfiles; then
  869.           dlfiles="$dlfiles $arg"
  870.         else
  871.           dlprefiles="$dlprefiles $arg"
  872.         fi
  873.         prev=
  874.         continue
  875.         ;;
  876.       esac
  877.       ;;
  878.     expsyms)
  879.       export_symbols="$arg"
  880.       if test ! -f "$arg"; then
  881.         $echo "$modename: symbol file \`$arg' does not exist"
  882.         exit 1
  883.       fi
  884.       prev=
  885.       continue
  886.       ;;
  887.     expsyms_regex)
  888.       export_symbols_regex="$arg"
  889.       prev=
  890.       continue
  891.       ;;
  892.     release)
  893.       release="-$arg"
  894.       prev=
  895.       continue
  896.       ;;
  897.     rpath | xrpath)
  898.       # We need an absolute path.
  899.       case $arg in
  900.       [\\/]* | [A-Za-z]:[\\/]*) ;;
  901.       *)
  902.         $echo "$modename: only absolute run-paths are allowed" 1>&2
  903.         exit 1
  904.         ;;
  905.       esac
  906.       if test "$prev" = rpath; then
  907.         case "$rpath " in
  908.         *" $arg "*) ;;
  909.         *) rpath="$rpath $arg" ;;
  910.         esac
  911.       else
  912.         case "$xrpath " in
  913.         *" $arg "*) ;;
  914.         *) xrpath="$xrpath $arg" ;;
  915.         esac
  916.       fi
  917.       prev=
  918.       continue
  919.       ;;
  920.     xcompiler)
  921.       compiler_flags="$compiler_flags $qarg"
  922.       prev=
  923.       compile_command="$compile_command $qarg"
  924.       finalize_command="$finalize_command $qarg"
  925.       continue
  926.       ;;
  927.     xlinker)
  928.       linker_flags="$linker_flags $qarg"
  929.       compiler_flags="$compiler_flags $wl$qarg"
  930.       prev=
  931.       compile_command="$compile_command $wl$qarg"
  932.       finalize_command="$finalize_command $wl$qarg"
  933.       continue
  934.       ;;
  935.     *)
  936.       eval "$prev=\"\$arg\""
  937.       prev=
  938.       continue
  939.       ;;
  940.     esac
  941.       fi # test -n $prev
  942.  
  943.       prevarg="$arg"
  944.  
  945.       case $arg in
  946.       -all-static)
  947.     if test -n "$link_static_flag"; then
  948.       compile_command="$compile_command $link_static_flag"
  949.       finalize_command="$finalize_command $link_static_flag"
  950.     fi
  951.     continue
  952.     ;;
  953.  
  954.       -allow-undefined)
  955.     # FIXME: remove this flag sometime in the future.
  956.     $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
  957.     continue
  958.     ;;
  959.  
  960.       -avoid-version)
  961.     avoid_version=yes
  962.     continue
  963.     ;;
  964.  
  965.       -dlopen)
  966.     prev=dlfiles
  967.     continue
  968.     ;;
  969.  
  970.       -dlpreopen)
  971.     prev=dlprefiles
  972.     continue
  973.     ;;
  974.  
  975.       -export-dynamic)
  976.     export_dynamic=yes
  977.     continue
  978.     ;;
  979.  
  980.       -export-symbols | -export-symbols-regex)
  981.     if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
  982.       $echo "$modename: more than one -exported-symbols argument is not allowed"
  983.       exit 1
  984.     fi
  985.     if test "X$arg" = "X-export-symbols"; then
  986.       prev=expsyms
  987.     else
  988.       prev=expsyms_regex
  989.     fi
  990.     continue
  991.     ;;
  992.  
  993.       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
  994.       # so, if we see these flags be careful not to treat them like -L
  995.       -L[A-Z][A-Z]*:*)
  996.     case $with_gcc/$host in
  997.     no/*-*-irix* | no/*-*-nonstopux*)
  998.       compile_command="$compile_command $arg"
  999.       finalize_command="$finalize_command $arg"
  1000.       ;;
  1001.     esac
  1002.     continue
  1003.     ;;
  1004.  
  1005.       -L*)
  1006.     dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
  1007.     # We need an absolute path.
  1008.     case $dir in
  1009.     [\\/]* | [A-Za-z]:[\\/]*) ;;
  1010.     *)
  1011.       absdir=`cd "$dir" && pwd`
  1012.       if test -z "$absdir"; then
  1013.         $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
  1014.         exit 1
  1015.       fi
  1016.       dir="$absdir"
  1017.       ;;
  1018.     esac
  1019.     case "$deplibs " in
  1020.     *" -L$dir "*) ;;
  1021.     *)
  1022.       deplibs="$deplibs -L$dir"
  1023.       lib_search_path="$lib_search_path $dir"
  1024.       ;;
  1025.     esac
  1026.     case $host in
  1027.     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  1028.       case :$dllsearchpath: in
  1029.       *":$dir:"*) ;;
  1030.       *) dllsearchpath="$dllsearchpath:$dir";;
  1031.       esac
  1032.       ;;
  1033.     esac
  1034.     continue
  1035.     ;;
  1036.  
  1037.       -l*)
  1038.     if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
  1039.       case $host in
  1040.       *-*-cygwin* | *-*-pw32* | *-*-beos*)
  1041.         # These systems don't actually have a C or math library (as such)
  1042.         continue
  1043.         ;;
  1044.       *-*-mingw* | *-*-os2*)
  1045.         # These systems don't actually have a C library (as such)
  1046.         test "X$arg" = "X-lc" && continue
  1047.         ;;
  1048.       *-*-openbsd* | *-*-freebsd*)
  1049.         # Do not include libc due to us having libc/libc_r.
  1050.         test "X$arg" = "X-lc" && continue
  1051.         ;;
  1052.       esac
  1053.      elif test "X$arg" = "X-lc_r"; then
  1054.       case $host in
  1055.      *-*-openbsd* | *-*-freebsd*)
  1056.         # Do not include libc_r directly, use -pthread flag.
  1057.         continue
  1058.         ;;
  1059.       esac
  1060.     fi
  1061.     deplibs="$deplibs $arg"
  1062.     continue
  1063.     ;;
  1064.  
  1065.       -module)
  1066.     module=yes
  1067.     continue
  1068.     ;;
  1069.  
  1070.       -no-fast-install)
  1071.     fast_install=no
  1072.     continue
  1073.     ;;
  1074.  
  1075.       -no-install)
  1076.     case $host in
  1077.     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  1078.       # The PATH hackery in wrapper scripts is required on Windows
  1079.       # in order for the loader to find any dlls it needs.
  1080.       $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
  1081.       $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
  1082.       fast_install=no
  1083.       ;;
  1084.     *) no_install=yes ;;
  1085.     esac
  1086.     continue
  1087.     ;;
  1088.  
  1089.       -no-undefined)
  1090.     allow_undefined=no
  1091.     continue
  1092.     ;;
  1093.  
  1094.       -o) prev=output ;;
  1095.  
  1096.       -release)
  1097.     prev=release
  1098.     continue
  1099.     ;;
  1100.  
  1101.       -rpath)
  1102.     prev=rpath
  1103.     continue
  1104.     ;;
  1105.  
  1106.       -R)
  1107.     prev=xrpath
  1108.     continue
  1109.     ;;
  1110.  
  1111.       -R*)
  1112.     dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
  1113.     # We need an absolute path.
  1114.     case $dir in
  1115.     [\\/]* | [A-Za-z]:[\\/]*) ;;
  1116.     *)
  1117.       $echo "$modename: only absolute run-paths are allowed" 1>&2
  1118.       exit 1
  1119.       ;;
  1120.     esac
  1121.     case "$xrpath " in
  1122.     *" $dir "*) ;;
  1123.     *) xrpath="$xrpath $dir" ;;
  1124.     esac
  1125.     continue
  1126.     ;;
  1127.  
  1128.       -static)
  1129.     # The effects of -static are defined in a previous loop.
  1130.     # We used to do the same as -all-static on platforms that
  1131.     # didn't have a PIC flag, but the assumption that the effects
  1132.     # would be equivalent was wrong.  It would break on at least
  1133.     # Digital Unix and AIX.
  1134.     continue
  1135.     ;;
  1136.  
  1137.       -thread-safe)
  1138.     thread_safe=yes
  1139.     continue
  1140.     ;;
  1141.  
  1142.       -version-info)
  1143.     prev=vinfo
  1144.     continue
  1145.     ;;
  1146.  
  1147.       -Wc,*)
  1148.     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
  1149.     arg=
  1150.     save_ifs="$IFS"; IFS=','
  1151.     for flag in $args; do
  1152.       IFS="$save_ifs"
  1153.       case $flag in
  1154.         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  1155.         flag="\"$flag\""
  1156.         ;;
  1157.       esac
  1158.       arg="$arg $wl$flag"
  1159.       compiler_flags="$compiler_flags $flag"
  1160.     done
  1161.     IFS="$save_ifs"
  1162.     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
  1163.     ;;
  1164.  
  1165.       -Wl,*)
  1166.     args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
  1167.     arg=
  1168.     save_ifs="$IFS"; IFS=','
  1169.     for flag in $args; do
  1170.       IFS="$save_ifs"
  1171.       case $flag in
  1172.         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  1173.         flag="\"$flag\""
  1174.         ;;
  1175.       esac
  1176.       arg="$arg $wl$flag"
  1177.       compiler_flags="$compiler_flags $wl$flag"
  1178.       linker_flags="$linker_flags $flag"
  1179.     done
  1180.     IFS="$save_ifs"
  1181.     arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
  1182.     ;;
  1183.  
  1184.       -Xcompiler)
  1185.     prev=xcompiler
  1186.     continue
  1187.     ;;
  1188.  
  1189.       -Xlinker)
  1190.     prev=xlinker
  1191.     continue
  1192.     ;;
  1193.  
  1194.       # Some other compiler flag.
  1195.       -* | +*)
  1196.     # Unknown arguments in both finalize_command and compile_command need
  1197.     # to be aesthetically quoted because they are evaled later.
  1198.     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1199.     case $arg in
  1200.     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  1201.       arg="\"$arg\""
  1202.       ;;
  1203.     esac
  1204.     ;;
  1205.  
  1206.       *.lo | *.$objext)
  1207.     # A library or standard object.
  1208.     if test "$prev" = dlfiles; then
  1209.       # This file was specified with -dlopen.
  1210.       if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
  1211.         dlfiles="$dlfiles $arg"
  1212.         prev=
  1213.         continue
  1214.       else
  1215.         # If libtool objects are unsupported, then we need to preload.
  1216.         prev=dlprefiles
  1217.       fi
  1218.     fi
  1219.  
  1220.     if test "$prev" = dlprefiles; then
  1221.       # Preload the old-style object.
  1222.       dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
  1223.       prev=
  1224.     else
  1225.       case $arg in
  1226.       *.lo) libobjs="$libobjs $arg" ;;
  1227.       *) objs="$objs $arg" ;;
  1228.       esac
  1229.     fi
  1230.     ;;
  1231.  
  1232.       *.$libext)
  1233.     # An archive.
  1234.     deplibs="$deplibs $arg"
  1235.     old_deplibs="$old_deplibs $arg"
  1236.     continue
  1237.     ;;
  1238.  
  1239.       *.la)
  1240.     # A libtool-controlled library.
  1241.  
  1242.     if test "$prev" = dlfiles; then
  1243.       # This library was specified with -dlopen.
  1244.       dlfiles="$dlfiles $arg"
  1245.       prev=
  1246.     elif test "$prev" = dlprefiles; then
  1247.       # The library was specified with -dlpreopen.
  1248.       dlprefiles="$dlprefiles $arg"
  1249.       prev=
  1250.     else
  1251.       deplibs="$deplibs $arg"
  1252.     fi
  1253.     continue
  1254.     ;;
  1255.  
  1256.       # Some other compiler argument.
  1257.       *)
  1258.     # Unknown arguments in both finalize_command and compile_command need
  1259.     # to be aesthetically quoted because they are evaled later.
  1260.     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  1261.     case $arg in
  1262.     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
  1263.       arg="\"$arg\""
  1264.       ;;
  1265.     esac
  1266.     ;;
  1267.       esac # arg
  1268.  
  1269.       # Now actually substitute the argument into the commands.
  1270.       if test -n "$arg"; then
  1271.     compile_command="$compile_command $arg"
  1272.     finalize_command="$finalize_command $arg"
  1273.       fi
  1274.     done # argument parsing loop
  1275.  
  1276.     if test -n "$prev"; then
  1277.       $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
  1278.       $echo "$help" 1>&2
  1279.       exit 1
  1280.     fi
  1281.  
  1282.     if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
  1283.       eval arg=\"$export_dynamic_flag_spec\"
  1284.       compile_command="$compile_command $arg"
  1285.       finalize_command="$finalize_command $arg"
  1286.     fi
  1287.  
  1288.     # calculate the name of the file, without its directory
  1289.     outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
  1290.     libobjs_save="$libobjs"
  1291.  
  1292.     if test -n "$shlibpath_var"; then
  1293.       # get the directories listed in $shlibpath_var
  1294.       eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
  1295.     else
  1296.       shlib_search_path=
  1297.     fi
  1298.     eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
  1299.     eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
  1300.  
  1301.     output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
  1302.     if test "X$output_objdir" = "X$output"; then
  1303.       output_objdir="$objdir"
  1304.     else
  1305.       output_objdir="$output_objdir/$objdir"
  1306.     fi
  1307.     # Create the object directory.
  1308.     if test ! -d $output_objdir; then
  1309.       $show "$mkdir $output_objdir"
  1310.       $run $mkdir $output_objdir
  1311.       status=$?
  1312.       if test $status -ne 0 && test ! -d $output_objdir; then
  1313.     exit $status
  1314.       fi
  1315.     fi
  1316.  
  1317.     # Determine the type of output
  1318.     case $output in
  1319.     "")
  1320.       $echo "$modename: you must specify an output file" 1>&2
  1321.       $echo "$help" 1>&2
  1322.       exit 1
  1323.       ;;
  1324.     *.$libext) linkmode=oldlib ;;
  1325.     *.lo | *.$objext) linkmode=obj ;;
  1326.     *.la) linkmode=lib ;;
  1327.     *) linkmode=prog ;; # Anything else should be a program.
  1328.     esac
  1329.  
  1330.     specialdeplibs=
  1331.     libs=
  1332.     # Find all interdependent deplibs by searching for libraries
  1333.     # that are linked more than once (e.g. -la -lb -la)
  1334.     for deplib in $deplibs; do
  1335.       if test "X$duplicate_deps" = "Xyes" ; then
  1336.     case "$libs " in
  1337.     *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  1338.     esac
  1339.       fi
  1340.       libs="$libs $deplib"
  1341.     done
  1342.     deplibs=
  1343.     newdependency_libs=
  1344.     newlib_search_path=
  1345.     need_relink=no # whether we're linking any uninstalled libtool libraries
  1346.     notinst_deplibs= # not-installed libtool libraries
  1347.     notinst_path= # paths that contain not-installed libtool libraries
  1348.     case $linkmode in
  1349.     lib)
  1350.     passes="conv link"
  1351.     for file in $dlfiles $dlprefiles; do
  1352.       case $file in
  1353.       *.la) ;;
  1354.       *)
  1355.         $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
  1356.         exit 1
  1357.         ;;
  1358.       esac
  1359.     done
  1360.     ;;
  1361.     prog)
  1362.     compile_deplibs=
  1363.     finalize_deplibs=
  1364.     alldeplibs=no
  1365.     newdlfiles=
  1366.     newdlprefiles=
  1367.     passes="conv scan dlopen dlpreopen link"
  1368.     ;;
  1369.     *)  passes="conv"
  1370.     ;;
  1371.     esac
  1372.     for pass in $passes; do
  1373.       if test $linkmode = prog; then
  1374.     # Determine which files to process
  1375.     case $pass in
  1376.     dlopen)
  1377.       libs="$dlfiles"
  1378.       save_deplibs="$deplibs" # Collect dlpreopened libraries
  1379.       deplibs=
  1380.       ;;
  1381.     dlpreopen) libs="$dlprefiles" ;;
  1382.     link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
  1383.     esac
  1384.       fi
  1385.       for deplib in $libs; do
  1386.     lib=
  1387.     found=no
  1388.     case $deplib in
  1389.     -l*)
  1390.       if test $linkmode = oldlib && test $linkmode = obj; then
  1391.         $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
  1392.         continue
  1393.       fi
  1394.       if test $pass = conv; then
  1395.         deplibs="$deplib $deplibs"
  1396.         continue
  1397.       fi
  1398.       name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
  1399.       for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
  1400.         # Search the libtool library
  1401.         lib="$searchdir/lib${name}.la"
  1402.         if test -f "$lib"; then
  1403.           found=yes
  1404.           break
  1405.         fi
  1406.       done
  1407.       if test "$found" != yes; then
  1408.         # deplib doesn't seem to be a libtool library
  1409.         if test "$linkmode,$pass" = "prog,link"; then
  1410.           compile_deplibs="$deplib $compile_deplibs"
  1411.           finalize_deplibs="$deplib $finalize_deplibs"
  1412.         else
  1413.           deplibs="$deplib $deplibs"
  1414.           test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
  1415.         fi
  1416.         continue
  1417.       fi
  1418.       ;; # -l
  1419.     -L*)
  1420.       case $linkmode in
  1421.       lib)
  1422.         deplibs="$deplib $deplibs"
  1423.         test $pass = conv && continue
  1424.         newdependency_libs="$deplib $newdependency_libs"
  1425.         newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
  1426.         ;;
  1427.       prog)
  1428.         if test $pass = conv; then
  1429.           deplibs="$deplib $deplibs"
  1430.           continue
  1431.         fi
  1432.         if test $pass = scan; then
  1433.           deplibs="$deplib $deplibs"
  1434.           newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
  1435.         else
  1436.           compile_deplibs="$deplib $compile_deplibs"
  1437.           finalize_deplibs="$deplib $finalize_deplibs"
  1438.         fi
  1439.         ;;
  1440.       *)
  1441.         $echo "$modename: warning: \`-L' is ignored for archives/objects: $deplib" 1>&2
  1442.         ;;
  1443.       esac # linkmode
  1444.       continue
  1445.       ;; # -L
  1446.     -R*)
  1447.       if test $pass = link; then
  1448.         dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
  1449.         # Make sure the xrpath contains only unique directories.
  1450.         case "$xrpath " in
  1451.         *" $dir "*) ;;
  1452.         *) xrpath="$xrpath $dir" ;;
  1453.         esac
  1454.       fi
  1455.       deplibs="$deplib $deplibs"
  1456.       continue
  1457.       ;;
  1458.     *.la) lib="$deplib" ;;
  1459.     *.$libext)
  1460.       if test $pass = conv; then
  1461.         deplibs="$deplib $deplibs"
  1462.         continue
  1463.       fi
  1464.       case $linkmode in
  1465.       lib)
  1466.         if test "$deplibs_check_method" != pass_all; then
  1467.           echo
  1468.           echo "*** Warning: Trying to link with static lib archive $deplib."
  1469.           echo "*** I have the capability to make that library automatically link in when"
  1470.           echo "*** you link to this library.  But I can only do this if you have a"
  1471.           echo "*** shared version of the library, which you do not appear to have"
  1472.           echo "*** because the file extensions .$libext of this argument makes me believe"
  1473.           echo "*** that it is just a static archive that I should not used here."
  1474.         else
  1475.           echo
  1476.           echo "*** Warning: Linking the shared library $output against the"
  1477.           echo "*** static library $deplib is not portable!"
  1478.           deplibs="$deplib $deplibs"
  1479.         fi
  1480.         continue
  1481.         ;;
  1482.       prog)
  1483.         if test $pass != link; then
  1484.           deplibs="$deplib $deplibs"
  1485.         else
  1486.           compile_deplibs="$deplib $compile_deplibs"
  1487.           finalize_deplibs="$deplib $finalize_deplibs"
  1488.         fi
  1489.         continue
  1490.         ;;
  1491.       esac # linkmode
  1492.       ;; # *.$libext
  1493.     *.lo | *.$objext)
  1494.       if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
  1495.         # If there is no dlopen support or we're linking statically,
  1496.         # we need to preload.
  1497.         newdlprefiles="$newdlprefiles $deplib"
  1498.         compile_deplibs="$deplib $compile_deplibs"
  1499.         finalize_deplibs="$deplib $finalize_deplibs"
  1500.       else
  1501.         newdlfiles="$newdlfiles $deplib"
  1502.       fi
  1503.       continue
  1504.       ;;
  1505.     %DEPLIBS%)
  1506.       alldeplibs=yes
  1507.       continue
  1508.       ;;
  1509.     esac # case $deplib
  1510.     if test $found = yes || test -f "$lib"; then :
  1511.     else
  1512.       $echo "$modename: cannot find the library \`$lib'" 1>&2
  1513.       exit 1
  1514.     fi
  1515.  
  1516.     # Check to see that this really is a libtool archive.
  1517.     if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  1518.     else
  1519.       $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
  1520.       exit 1
  1521.     fi
  1522.  
  1523.     ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
  1524.     test "X$ladir" = "X$lib" && ladir="."
  1525.  
  1526.     dlname=
  1527.     dlopen=
  1528.     dlpreopen=
  1529.     libdir=
  1530.     library_names=
  1531.     old_library=
  1532.     # If the library was installed with an old release of libtool,
  1533.     # it will not redefine variable installed.
  1534.     installed=yes
  1535.  
  1536.     # Read the .la file
  1537.     case $lib in
  1538.     */* | *\\*) . $lib ;;
  1539.     *) . ./$lib ;;
  1540.     esac
  1541.  
  1542.     if test "$linkmode,$pass" = "lib,link" ||
  1543.        test "$linkmode,$pass" = "prog,scan" ||
  1544.        { test $linkmode = oldlib && test $linkmode = obj; }; then
  1545.        # Add dl[pre]opened files of deplib
  1546.       test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
  1547.       test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
  1548.     fi
  1549.  
  1550.     if test $pass = conv; then
  1551.       # Only check for convenience libraries
  1552.       deplibs="$lib $deplibs"
  1553.       if test -z "$libdir"; then
  1554.         if test -z "$old_library"; then
  1555.           $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
  1556.           exit 1
  1557.         fi
  1558.         # It is a libtool convenience library, so add in its objects.
  1559.         convenience="$convenience $ladir/$objdir/$old_library"
  1560.         old_convenience="$old_convenience $ladir/$objdir/$old_library"
  1561.         tmp_libs=
  1562.         for deplib in $dependency_libs; do
  1563.           deplibs="$deplib $deplibs"
  1564.               if test "X$duplicate_deps" = "Xyes" ; then
  1565.             case "$tmp_libs " in
  1566.             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  1567.             esac
  1568.               fi
  1569.           tmp_libs="$tmp_libs $deplib"
  1570.         done
  1571.       elif test $linkmode != prog && test $linkmode != lib; then
  1572.         $echo "$modename: \`$lib' is not a convenience library" 1>&2
  1573.         exit 1
  1574.       fi
  1575.       continue
  1576.     fi # $pass = conv
  1577.  
  1578.     # Get the name of the library we link against.
  1579.     linklib=
  1580.     for l in $old_library $library_names; do
  1581.       linklib="$l"
  1582.     done
  1583.     if test -z "$linklib"; then
  1584.       $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
  1585.       exit 1
  1586.     fi
  1587.  
  1588.     # This library was specified with -dlopen.
  1589.     if test $pass = dlopen; then
  1590.       if test -z "$libdir"; then
  1591.         $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
  1592.         exit 1
  1593.       fi
  1594.       if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
  1595.         # If there is no dlname, no dlopen support or we're linking
  1596.         # statically, we need to preload.
  1597.         dlprefiles="$dlprefiles $lib"
  1598.       else
  1599.         newdlfiles="$newdlfiles $lib"
  1600.       fi
  1601.       continue
  1602.     fi # $pass = dlopen
  1603.  
  1604.     # We need an absolute path.
  1605.     case $ladir in
  1606.     [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
  1607.     *)
  1608.       abs_ladir=`cd "$ladir" && pwd`
  1609.       if test -z "$abs_ladir"; then
  1610.         $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
  1611.         $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
  1612.         abs_ladir="$ladir"
  1613.       fi
  1614.       ;;
  1615.     esac
  1616.     laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  1617.  
  1618.     # Find the relevant object directory and library name.
  1619.     if test "X$installed" = Xyes; then
  1620.       if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
  1621.         $echo "$modename: warning: library \`$lib' was moved." 1>&2
  1622.         dir="$ladir"
  1623.         absdir="$abs_ladir"
  1624.         libdir="$abs_ladir"
  1625.       else
  1626.         dir="$libdir"
  1627.         absdir="$libdir"
  1628.       fi
  1629.     else
  1630.       dir="$ladir/$objdir"
  1631.       absdir="$abs_ladir/$objdir"
  1632.       # Remove this search path later
  1633.       notinst_path="$notinst_path $abs_ladir"
  1634.     fi # $installed = yes
  1635.     name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
  1636.  
  1637.     # This library was specified with -dlpreopen.
  1638.     if test $pass = dlpreopen; then
  1639.       if test -z "$libdir"; then
  1640.         $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
  1641.         exit 1
  1642.       fi
  1643.       # Prefer using a static library (so that no silly _DYNAMIC symbols
  1644.       # are required to link).
  1645.       if test -n "$old_library"; then
  1646.         newdlprefiles="$newdlprefiles $dir/$old_library"
  1647.       # Otherwise, use the dlname, so that lt_dlopen finds it.
  1648.       elif test -n "$dlname"; then
  1649.         newdlprefiles="$newdlprefiles $dir/$dlname"
  1650.       else
  1651.         newdlprefiles="$newdlprefiles $dir/$linklib"
  1652.       fi
  1653.     fi # $pass = dlpreopen
  1654.  
  1655.     if test -z "$libdir"; then
  1656.       # Link the convenience library
  1657.       if test $linkmode = lib; then
  1658.         deplibs="$dir/$old_library $deplibs"
  1659.       elif test "$linkmode,$pass" = "prog,link"; then
  1660.         compile_deplibs="$dir/$old_library $compile_deplibs"
  1661.         finalize_deplibs="$dir/$old_library $finalize_deplibs"
  1662.       else
  1663.         deplibs="$lib $deplibs"
  1664.       fi
  1665.       continue
  1666.     fi
  1667.  
  1668.     if test $linkmode = prog && test $pass != link; then
  1669.       newlib_search_path="$newlib_search_path $ladir"
  1670.       deplibs="$lib $deplibs"
  1671.  
  1672.       linkalldeplibs=no
  1673.       if test "$link_all_deplibs" != no || test -z "$library_names" ||
  1674.          test "$build_libtool_libs" = no; then
  1675.         linkalldeplibs=yes
  1676.       fi
  1677.  
  1678.       tmp_libs=
  1679.       for deplib in $dependency_libs; do
  1680.         case $deplib in
  1681.         -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
  1682.         esac
  1683.         # Need to link against all dependency_libs?
  1684.         if test $linkalldeplibs = yes; then
  1685.           deplibs="$deplib $deplibs"
  1686.         else
  1687.           # Need to hardcode shared library paths
  1688.           # or/and link against static libraries
  1689.           newdependency_libs="$deplib $newdependency_libs"
  1690.         fi
  1691.         if test "X$duplicate_deps" = "Xyes" ; then
  1692.           case "$tmp_libs " in
  1693.           *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  1694.           esac
  1695.         fi
  1696.         tmp_libs="$tmp_libs $deplib"
  1697.       done # for deplib
  1698.       continue
  1699.     fi # $linkmode = prog...
  1700.  
  1701.     link_static=no # Whether the deplib will be linked statically
  1702.     if test -n "$library_names" &&
  1703.        { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
  1704.       # Link against this shared library
  1705.  
  1706.       if test "$linkmode,$pass" = "prog,link" ||
  1707.        { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
  1708.         # Hardcode the library path.
  1709.         # Skip directories that are in the system default run-time
  1710.         # search path.
  1711.         case " $sys_lib_dlsearch_path " in
  1712.         *" $absdir "*) ;;
  1713.         *)
  1714.           case "$compile_rpath " in
  1715.           *" $absdir "*) ;;
  1716.           *) compile_rpath="$compile_rpath $absdir"
  1717.           esac
  1718.           ;;
  1719.         esac
  1720.         case " $sys_lib_dlsearch_path " in
  1721.         *" $libdir "*) ;;
  1722.         *)
  1723.           case "$finalize_rpath " in
  1724.           *" $libdir "*) ;;
  1725.           *) finalize_rpath="$finalize_rpath $libdir"
  1726.           esac
  1727.           ;;
  1728.         esac
  1729.         if test $linkmode = prog; then
  1730.           # We need to hardcode the library path
  1731.           if test -n "$shlibpath_var"; then
  1732.         # Make sure the rpath contains only unique directories.
  1733.         case "$temp_rpath " in
  1734.         *" $dir "*) ;;
  1735.         *" $absdir "*) ;;
  1736.         *) temp_rpath="$temp_rpath $dir" ;;
  1737.         esac
  1738.           fi
  1739.         fi
  1740.       fi # $linkmode,$pass = prog,link...
  1741.  
  1742.       if test "$alldeplibs" = yes &&
  1743.          { test "$deplibs_check_method" = pass_all ||
  1744.            { test "$build_libtool_libs" = yes &&
  1745.          test -n "$library_names"; }; }; then
  1746.         # We only need to search for static libraries
  1747.         continue
  1748.       fi
  1749.  
  1750.       if test "$installed" = no; then
  1751.         notinst_deplibs="$notinst_deplibs $lib"
  1752.         need_relink=yes
  1753.       fi
  1754.  
  1755.       if test -n "$old_archive_from_expsyms_cmds"; then
  1756.         # figure out the soname
  1757.         set dummy $library_names
  1758.         realname="$2"
  1759.         shift; shift
  1760.         libname=`eval \\$echo \"$libname_spec\"`
  1761.         # use dlname if we got it. it's perfectly good, no?
  1762.         if test -n "$dlname"; then
  1763.           soname="$dlname"
  1764.         elif test -n "$soname_spec"; then
  1765.           # bleh windows
  1766.           case $host in
  1767.           *cygwin*)
  1768.         major=`expr $current - $age`
  1769.         versuffix="-$major"
  1770.         ;;
  1771.           esac
  1772.           eval soname=\"$soname_spec\"
  1773.         else
  1774.           soname="$realname"
  1775.         fi
  1776.  
  1777.         # Make a new name for the extract_expsyms_cmds to use
  1778.         soroot="$soname"
  1779.         soname=`echo $soroot | sed -e 's/^.*\///'`
  1780.         newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
  1781.  
  1782.         # If the library has no export list, then create one now
  1783.         if test -f "$output_objdir/$soname-def"; then :
  1784.         else
  1785.           $show "extracting exported symbol list from \`$soname'"
  1786.           save_ifs="$IFS"; IFS='~'
  1787.           eval cmds=\"$extract_expsyms_cmds\"
  1788.           for cmd in $cmds; do
  1789.         IFS="$save_ifs"
  1790.         $show "$cmd"
  1791.         $run eval "$cmd" || exit $?
  1792.           done
  1793.           IFS="$save_ifs"
  1794.         fi
  1795.  
  1796.         # Create $newlib
  1797.         if test -f "$output_objdir/$newlib"; then :; else
  1798.           $show "generating import library for \`$soname'"
  1799.           save_ifs="$IFS"; IFS='~'
  1800.           eval cmds=\"$old_archive_from_expsyms_cmds\"
  1801.           for cmd in $cmds; do
  1802.         IFS="$save_ifs"
  1803.         $show "$cmd"
  1804.         $run eval "$cmd" || exit $?
  1805.           done
  1806.           IFS="$save_ifs"
  1807.         fi
  1808.         # make sure the library variables are pointing to the new library
  1809.         dir=$output_objdir
  1810.         linklib=$newlib
  1811.       fi # test -n $old_archive_from_expsyms_cmds
  1812.  
  1813.       if test $linkmode = prog || test "$mode" != relink; then
  1814.         add_shlibpath=
  1815.         add_dir=
  1816.         add=
  1817.         lib_linked=yes
  1818.         case $hardcode_action in
  1819.         immediate | unsupported)
  1820.           if test "$hardcode_direct" = no; then
  1821.         add="$dir/$linklib"
  1822.           elif test "$hardcode_minus_L" = no; then
  1823.         case $host in
  1824.         *-*-sunos*) add_shlibpath="$dir" ;;
  1825.         esac
  1826.         add_dir="-L$dir"
  1827.         add="-l$name"
  1828.           elif test "$hardcode_shlibpath_var" = no; then
  1829.         add_shlibpath="$dir"
  1830.         add="-l$name"
  1831.           else
  1832.         lib_linked=no
  1833.           fi
  1834.           ;;
  1835.         relink)
  1836.           if test "$hardcode_direct" = yes; then
  1837.         add="$dir/$linklib"
  1838.           elif test "$hardcode_minus_L" = yes; then
  1839.         add_dir="-L$dir"
  1840.         add="-l$name"
  1841.           elif test "$hardcode_shlibpath_var" = yes; then
  1842.         add_shlibpath="$dir"
  1843.         add="-l$name"
  1844.           else
  1845.         lib_linked=no
  1846.           fi
  1847.           ;;
  1848.         *) lib_linked=no ;;
  1849.         esac
  1850.  
  1851.         if test "$lib_linked" != yes; then
  1852.           $echo "$modename: configuration error: unsupported hardcode properties"
  1853.           exit 1
  1854.         fi
  1855.  
  1856.         if test -n "$add_shlibpath"; then
  1857.           case :$compile_shlibpath: in
  1858.           *":$add_shlibpath:"*) ;;
  1859.           *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
  1860.           esac
  1861.         fi
  1862.         if test $linkmode = prog; then
  1863.           test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
  1864.           test -n "$add" && compile_deplibs="$add $compile_deplibs"
  1865.         else
  1866.           test -n "$add_dir" && deplibs="$add_dir $deplibs"
  1867.           test -n "$add" && deplibs="$add $deplibs"
  1868.           if test "$hardcode_direct" != yes && \
  1869.          test "$hardcode_minus_L" != yes && \
  1870.          test "$hardcode_shlibpath_var" = yes; then
  1871.         case :$finalize_shlibpath: in
  1872.         *":$libdir:"*) ;;
  1873.         *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
  1874.         esac
  1875.           fi
  1876.         fi
  1877.       fi
  1878.  
  1879.       if test $linkmode = prog || test "$mode" = relink; then
  1880.         add_shlibpath=
  1881.         add_dir=
  1882.         add=
  1883.         # Finalize command for both is simple: just hardcode it.
  1884.         if test "$hardcode_direct" = yes; then
  1885.           add="$libdir/$linklib"
  1886.         elif test "$hardcode_minus_L" = yes; then
  1887.           add_dir="-L$libdir"
  1888.           add="-l$name"
  1889.         elif test "$hardcode_shlibpath_var" = yes; then
  1890.           case :$finalize_shlibpath: in
  1891.           *":$libdir:"*) ;;
  1892.           *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
  1893.           esac
  1894.           add="-l$name"
  1895.         else
  1896.           # We cannot seem to hardcode it, guess we'll fake it.
  1897.           add_dir="-L$libdir"
  1898.           add="-l$name"
  1899.         fi
  1900.  
  1901.         if test $linkmode = prog; then
  1902.           test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
  1903.           test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
  1904.         else
  1905.           test -n "$add_dir" && deplibs="$add_dir $deplibs"
  1906.           test -n "$add" && deplibs="$add $deplibs"
  1907.         fi
  1908.       fi
  1909.     elif test $linkmode = prog; then
  1910.       if test "$alldeplibs" = yes &&
  1911.          { test "$deplibs_check_method" = pass_all ||
  1912.            { test "$build_libtool_libs" = yes &&
  1913.          test -n "$library_names"; }; }; then
  1914.         # We only need to search for static libraries
  1915.         continue
  1916.       fi
  1917.  
  1918.       # Try to link the static library
  1919.       # Here we assume that one of hardcode_direct or hardcode_minus_L
  1920.       # is not unsupported.  This is valid on all known static and
  1921.       # shared platforms.
  1922.       if test "$hardcode_direct" != unsupported; then
  1923.         test -n "$old_library" && linklib="$old_library"
  1924.         compile_deplibs="$dir/$linklib $compile_deplibs"
  1925.         finalize_deplibs="$dir/$linklib $finalize_deplibs"
  1926.       else
  1927.         compile_deplibs="-l$name -L$dir $compile_deplibs"
  1928.         finalize_deplibs="-l$name -L$dir $finalize_deplibs"
  1929.       fi
  1930.     elif test "$build_libtool_libs" = yes; then
  1931.       # Not a shared library
  1932.       if test "$deplibs_check_method" != pass_all; then
  1933.         # We're trying link a shared library against a static one
  1934.         # but the system doesn't support it.
  1935.  
  1936.         # Just print a warning and add the library to dependency_libs so
  1937.         # that the program can be linked against the static library.
  1938.         echo
  1939.         echo "*** Warning: This system can not link to static lib archive $lib."
  1940.         echo "*** I have the capability to make that library automatically link in when"
  1941.         echo "*** you link to this library.  But I can only do this if you have a"
  1942.         echo "*** shared version of the library, which you do not appear to have."
  1943.         if test "$module" = yes; then
  1944.           echo "*** But as you try to build a module library, libtool will still create "
  1945.           echo "*** a static module, that should work as long as the dlopening application"
  1946.           echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
  1947.           if test -z "$global_symbol_pipe"; then
  1948.         echo
  1949.         echo "*** However, this would only work if libtool was able to extract symbol"
  1950.         echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
  1951.         echo "*** not find such a program.  So, this module is probably useless."
  1952.         echo "*** \`nm' from GNU binutils and a full rebuild may help."
  1953.           fi
  1954.           if test "$build_old_libs" = no; then
  1955.         build_libtool_libs=module
  1956.         build_old_libs=yes
  1957.           else
  1958.         build_libtool_libs=no
  1959.           fi
  1960.         fi
  1961.       else
  1962.         convenience="$convenience $dir/$old_library"
  1963.         old_convenience="$old_convenience $dir/$old_library"
  1964.         deplibs="$dir/$old_library $deplibs"
  1965.         link_static=yes
  1966.       fi
  1967.     fi # link shared/static library?
  1968.  
  1969.     if test $linkmode = lib; then
  1970.       if test -n "$dependency_libs" &&
  1971.          { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
  1972.            test $link_static = yes; }; then
  1973.         # Extract -R from dependency_libs
  1974.         temp_deplibs=
  1975.         for libdir in $dependency_libs; do
  1976.           case $libdir in
  1977.           -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
  1978.            case " $xrpath " in
  1979.            *" $temp_xrpath "*) ;;
  1980.            *) xrpath="$xrpath $temp_xrpath";;
  1981.            esac;;
  1982.           *) temp_deplibs="$temp_deplibs $libdir";;
  1983.           esac
  1984.         done
  1985.         dependency_libs="$temp_deplibs"
  1986.       fi
  1987.  
  1988.       newlib_search_path="$newlib_search_path $absdir"
  1989.       # Link against this library
  1990.       test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
  1991.       # ... and its dependency_libs
  1992.       tmp_libs=
  1993.       for deplib in $dependency_libs; do
  1994.         newdependency_libs="$deplib $newdependency_libs"
  1995.         if test "X$duplicate_deps" = "Xyes" ; then
  1996.           case "$tmp_libs " in
  1997.           *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  1998.           esac
  1999.         fi
  2000.         tmp_libs="$tmp_libs $deplib"
  2001.       done
  2002.  
  2003.       if test $link_all_deplibs != no; then
  2004.         # Add the search paths of all dependency libraries
  2005.         for deplib in $dependency_libs; do
  2006.           case $deplib in
  2007.           -L*) path="$deplib" ;;
  2008.           *.la)
  2009.         dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
  2010.         test "X$dir" = "X$deplib" && dir="."
  2011.         # We need an absolute path.
  2012.         case $dir in
  2013.         [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
  2014.         *)
  2015.           absdir=`cd "$dir" && pwd`
  2016.           if test -z "$absdir"; then
  2017.             $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
  2018.             absdir="$dir"
  2019.           fi
  2020.           ;;
  2021.         esac
  2022.         if grep "^installed=no" $deplib > /dev/null; then
  2023.           path="-L$absdir/$objdir"
  2024.         else
  2025.           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
  2026.           if test -z "$libdir"; then
  2027.             $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
  2028.             exit 1
  2029.           fi
  2030.           if test "$absdir" != "$libdir"; then
  2031.             $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
  2032.           fi
  2033.           path="-L$absdir"
  2034.         fi
  2035.         ;;
  2036.           *) continue ;;
  2037.           esac
  2038.           case " $deplibs " in
  2039.           *" $path "*) ;;
  2040.           *) deplibs="$deplibs $path" ;;
  2041.           esac
  2042.         done
  2043.       fi # link_all_deplibs != no
  2044.     fi # linkmode = lib
  2045.       done # for deplib in $libs
  2046.       if test $pass = dlpreopen; then
  2047.     # Link the dlpreopened libraries before other libraries
  2048.     for deplib in $save_deplibs; do
  2049.       deplibs="$deplib $deplibs"
  2050.     done
  2051.       fi
  2052.       if test $pass != dlopen; then
  2053.     test $pass != scan && dependency_libs="$newdependency_libs"
  2054.     if test $pass != conv; then
  2055.       # Make sure lib_search_path contains only unique directories.
  2056.       lib_search_path=
  2057.       for dir in $newlib_search_path; do
  2058.         case "$lib_search_path " in
  2059.         *" $dir "*) ;;
  2060.         *) lib_search_path="$lib_search_path $dir" ;;
  2061.         esac
  2062.       done
  2063.       newlib_search_path=
  2064.     fi
  2065.  
  2066.     if test "$linkmode,$pass" != "prog,link"; then
  2067.       vars="deplibs"
  2068.     else
  2069.       vars="compile_deplibs finalize_deplibs"
  2070.     fi
  2071.     for var in $vars dependency_libs; do
  2072.       # Add libraries to $var in reverse order
  2073.       eval tmp_libs=\"\$$var\"
  2074.       new_libs=
  2075.       for deplib in $tmp_libs; do
  2076.         case $deplib in
  2077.         -L*) new_libs="$deplib $new_libs" ;;
  2078.         *)
  2079.           case " $specialdeplibs " in
  2080.           *" $deplib "*) new_libs="$deplib $new_libs" ;;
  2081.           *)
  2082.         case " $new_libs " in
  2083.         *" $deplib "*) ;;
  2084.         *) new_libs="$deplib $new_libs" ;;
  2085.         esac
  2086.         ;;
  2087.           esac
  2088.           ;;
  2089.         esac
  2090.       done
  2091.       tmp_libs=
  2092.       for deplib in $new_libs; do
  2093.         case $deplib in
  2094.         -L*)
  2095.           case " $tmp_libs " in
  2096.           *" $deplib "*) ;;
  2097.           *) tmp_libs="$tmp_libs $deplib" ;;
  2098.           esac
  2099.           ;;
  2100.         *) tmp_libs="$tmp_libs $deplib" ;;
  2101.         esac
  2102.       done
  2103.       eval $var=\"$tmp_libs\"
  2104.     done # for var
  2105.       fi
  2106.       if test "$pass" = "conv" &&
  2107.        { test "$linkmode" = "lib" || test "$linkmode" = "prog"; }; then
  2108.     libs="$deplibs" # reset libs
  2109.     deplibs=
  2110.       fi
  2111.     done # for pass
  2112.     if test $linkmode = prog; then
  2113.       dlfiles="$newdlfiles"
  2114.       dlprefiles="$newdlprefiles"
  2115.     fi
  2116.  
  2117.     case $linkmode in
  2118.     oldlib)
  2119.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  2120.     $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
  2121.       fi
  2122.  
  2123.       if test -n "$rpath"; then
  2124.     $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
  2125.       fi
  2126.  
  2127.       if test -n "$xrpath"; then
  2128.     $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
  2129.       fi
  2130.  
  2131.       if test -n "$vinfo"; then
  2132.     $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
  2133.       fi
  2134.  
  2135.       if test -n "$release"; then
  2136.     $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
  2137.       fi
  2138.  
  2139.       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
  2140.     $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
  2141.       fi
  2142.  
  2143.       # Now set the variables for building old libraries.
  2144.       build_libtool_libs=no
  2145.       oldlibs="$output"
  2146.       objs="$objs$old_deplibs"
  2147.       ;;
  2148.  
  2149.     lib)
  2150.       # Make sure we only generate libraries of the form `libNAME.la'.
  2151.       case $outputname in
  2152.       lib*)
  2153.     name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
  2154.     eval libname=\"$libname_spec\"
  2155.     ;;
  2156.       *)
  2157.     if test "$module" = no; then
  2158.       $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
  2159.       $echo "$help" 1>&2
  2160.       exit 1
  2161.     fi
  2162.     if test "$need_lib_prefix" != no; then
  2163.       # Add the "lib" prefix for modules if required
  2164.       name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
  2165.       eval libname=\"$libname_spec\"
  2166.     else
  2167.       libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
  2168.     fi
  2169.     ;;
  2170.       esac
  2171.  
  2172.       if test -n "$objs"; then
  2173.     if test "$deplibs_check_method" != pass_all; then
  2174.       $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
  2175.       exit 1
  2176.     else
  2177.       echo
  2178.       echo "*** Warning: Linking the shared library $output against the non-libtool"
  2179.       echo "*** objects $objs is not portable!"
  2180.       libobjs="$libobjs $objs"
  2181.     fi
  2182.       fi
  2183.  
  2184.       if test "$dlself" != no; then
  2185.     $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
  2186.       fi
  2187.  
  2188.       set dummy $rpath
  2189.       if test $# -gt 2; then
  2190.     $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
  2191.       fi
  2192.       install_libdir="$2"
  2193.  
  2194.       oldlibs=
  2195.       if test -z "$rpath"; then
  2196.     if test "$build_libtool_libs" = yes; then
  2197.       # Building a libtool convenience library.
  2198.       libext=al
  2199.       oldlibs="$output_objdir/$libname.$libext $oldlibs"
  2200.       build_libtool_libs=convenience
  2201.       build_old_libs=yes
  2202.     fi
  2203.  
  2204.     if test -n "$vinfo"; then
  2205.       $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
  2206.     fi
  2207.  
  2208.     if test -n "$release"; then
  2209.       $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
  2210.     fi
  2211.       else
  2212.  
  2213.     # Parse the version information argument.
  2214.     save_ifs="$IFS"; IFS=':'
  2215.     set dummy $vinfo 0 0 0
  2216.     IFS="$save_ifs"
  2217.  
  2218.     if test -n "$8"; then
  2219.       $echo "$modename: too many parameters to \`-version-info'" 1>&2
  2220.       $echo "$help" 1>&2
  2221.       exit 1
  2222.     fi
  2223.  
  2224.     current="$2"
  2225.     revision="$3"
  2226.     age="$4"
  2227.  
  2228.     # Check that each of the things are valid numbers.
  2229.     case $current in
  2230.     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
  2231.     *)
  2232.       $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
  2233.       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
  2234.       exit 1
  2235.       ;;
  2236.     esac
  2237.  
  2238.     case $revision in
  2239.     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
  2240.     *)
  2241.       $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
  2242.       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
  2243.       exit 1
  2244.       ;;
  2245.     esac
  2246.  
  2247.     case $age in
  2248.     0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
  2249.     *)
  2250.       $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
  2251.       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
  2252.       exit 1
  2253.       ;;
  2254.     esac
  2255.  
  2256.     if test $age -gt $current; then
  2257.       $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
  2258.       $echo "$modename: \`$vinfo' is not valid version information" 1>&2
  2259.       exit 1
  2260.     fi
  2261.  
  2262.     # Calculate the version variables.
  2263.     major=
  2264.     versuffix=
  2265.     verstring=
  2266.     case $version_type in
  2267.     none) ;;
  2268.  
  2269.     darwin)
  2270.       # Like Linux, but with the current version available in
  2271.       # verstring for coding it into the library header
  2272.       major=.`expr $current - $age`
  2273.       versuffix="$major.$age.$revision"
  2274.       # Darwin ld doesn't like 0 for these options...
  2275.       minor_current=`expr $current + 1`
  2276.       verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
  2277.       ;;
  2278.  
  2279.     freebsd-aout)
  2280.       major=".$current"
  2281.       versuffix=".$current.$revision";
  2282.       ;;
  2283.  
  2284.     freebsd-elf)
  2285.       major=".$current"
  2286.       versuffix=".$current";
  2287.       ;;
  2288.  
  2289.     irix | nonstopux)
  2290.       case $version_type in
  2291.         nonstopux) verstring_prefix=nonstopux ;;
  2292.         *)         verstring_prefix=sgi ;;
  2293.       esac
  2294.       verstring="$verstring_prefix$major.$revision"
  2295.  
  2296.       major=`expr $current - $age + 1`
  2297.  
  2298.       # Add in all the interfaces that we are compatible with.
  2299.       loop=$revision
  2300.       while test $loop != 0; do
  2301.         iface=`expr $revision - $loop`
  2302.         loop=`expr $loop - 1`
  2303.         verstring="$verstring_prefix$major.$iface:$verstring"
  2304.       done
  2305.  
  2306.       # Before this point, $major must not contain `.'.
  2307.       major=.$major
  2308.       versuffix="$major.$revision"
  2309.       ;;
  2310.  
  2311.     linux)
  2312.       major=.`expr $current - $age`
  2313.       versuffix="$major.$age.$revision"
  2314.       ;;
  2315.  
  2316.     osf)
  2317.       major=`expr $current - $age`
  2318.       versuffix=".$current.$age.$revision"
  2319.       verstring="$current.$age.$revision"
  2320.  
  2321.       # Add in all the interfaces that we are compatible with.
  2322.       loop=$age
  2323.       while test $loop != 0; do
  2324.         iface=`expr $current - $loop`
  2325.         loop=`expr $loop - 1`
  2326.         verstring="$verstring:${iface}.0"
  2327.       done
  2328.  
  2329.       # Make executables depend on our current version.
  2330.       verstring="$verstring:${current}.0"
  2331.       ;;
  2332.  
  2333.     sunos)
  2334.       major=".$current"
  2335.       versuffix=".$current.$revision"
  2336.       ;;
  2337.  
  2338.     windows)
  2339.       # Use '-' rather than '.', since we only want one
  2340.       # extension on DOS 8.3 filesystems.
  2341.       major=`expr $current - $age`
  2342.       versuffix="-$major"
  2343.       ;;
  2344.  
  2345.     *)
  2346.       $echo "$modename: unknown library version type \`$version_type'" 1>&2
  2347.       echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  2348.       exit 1
  2349.       ;;
  2350.     esac
  2351.  
  2352.     # Clear the version info if we defaulted, and they specified a release.
  2353.     if test -z "$vinfo" && test -n "$release"; then
  2354.       major=
  2355.       verstring="0.0"
  2356.       case $version_type in
  2357.       darwin)
  2358.         # we can't check for "0.0" in archive_cmds due to quoting
  2359.         # problems, so we reset it completely
  2360.         verstring=""
  2361.         ;;
  2362.       *)
  2363.         verstring="0.0"
  2364.         ;;
  2365.       esac
  2366.       if test "$need_version" = no; then
  2367.         versuffix=
  2368.       else
  2369.         versuffix=".0.0"
  2370.       fi
  2371.     fi
  2372.  
  2373.     # Remove version info from name if versioning should be avoided
  2374.     if test "$avoid_version" = yes && test "$need_version" = no; then
  2375.       major=
  2376.       versuffix=
  2377.       verstring=""
  2378.     fi
  2379.  
  2380.     # Check to see if the archive will have undefined symbols.
  2381.     if test "$allow_undefined" = yes; then
  2382.       if test "$allow_undefined_flag" = unsupported; then
  2383.         $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
  2384.         build_libtool_libs=no
  2385.         build_old_libs=yes
  2386.       fi
  2387.     else
  2388.       # Don't allow undefined symbols.
  2389.       allow_undefined_flag="$no_undefined_flag"
  2390.     fi
  2391.       fi
  2392.  
  2393.       if test "$mode" != relink; then
  2394.     # Remove our outputs.
  2395.     $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
  2396.     $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
  2397.       fi
  2398.  
  2399.       # Now set the variables for building old libraries.
  2400.       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
  2401.     oldlibs="$oldlibs $output_objdir/$libname.$libext"
  2402.  
  2403.     # Transform .lo files to .o files.
  2404.     oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
  2405.       fi
  2406.  
  2407.       # Eliminate all temporary directories.
  2408.       for path in $notinst_path; do
  2409.     lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
  2410.     deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
  2411.     dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
  2412.       done
  2413.  
  2414.       if test -n "$xrpath"; then
  2415.     # If the user specified any rpath flags, then add them.
  2416.     temp_xrpath=
  2417.     for libdir in $xrpath; do
  2418.       temp_xrpath="$temp_xrpath -R$libdir"
  2419.       case "$finalize_rpath " in
  2420.       *" $libdir "*) ;;
  2421.       *) finalize_rpath="$finalize_rpath $libdir" ;;
  2422.       esac
  2423.     done
  2424.     if test $hardcode_into_libs != yes || test $build_old_libs = yes; then
  2425.       dependency_libs="$temp_xrpath $dependency_libs"
  2426.     fi
  2427.       fi
  2428.  
  2429.       # Make sure dlfiles contains only unique files that won't be dlpreopened
  2430.       old_dlfiles="$dlfiles"
  2431.       dlfiles=
  2432.       for lib in $old_dlfiles; do
  2433.     case " $dlprefiles $dlfiles " in
  2434.     *" $lib "*) ;;
  2435.     *) dlfiles="$dlfiles $lib" ;;
  2436.     esac
  2437.       done
  2438.  
  2439.       # Make sure dlprefiles contains only unique files
  2440.       old_dlprefiles="$dlprefiles"
  2441.       dlprefiles=
  2442.       for lib in $old_dlprefiles; do
  2443.     case "$dlprefiles " in
  2444.     *" $lib "*) ;;
  2445.     *) dlprefiles="$dlprefiles $lib" ;;
  2446.     esac
  2447.       done
  2448.  
  2449.       if test "$build_libtool_libs" = yes; then
  2450.     if test -n "$rpath"; then
  2451.       case $host in
  2452.       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
  2453.         # these systems don't actually have a c library (as such)!
  2454.         ;;
  2455.       *-*-rhapsody* | *-*-darwin1.[012])
  2456.         # Rhapsody C library is in the System framework
  2457.         deplibs="$deplibs -framework System"
  2458.         ;;
  2459.       *-*-netbsd*)
  2460.         # Don't link with libc until the a.out ld.so is fixed.
  2461.         ;;
  2462.       *-*-openbsd* | *-*-freebsd*)
  2463.         # Do not include libc due to us having libc/libc_r.
  2464.         ;;
  2465.       *)
  2466.         # Add libc to deplibs on all other systems if necessary.
  2467.         if test $build_libtool_need_lc = "yes"; then
  2468.           deplibs="$deplibs -lc"
  2469.         fi
  2470.         ;;
  2471.       esac
  2472.     fi
  2473.  
  2474.     # Transform deplibs into only deplibs that can be linked in shared.
  2475.     name_save=$name
  2476.     libname_save=$libname
  2477.     release_save=$release
  2478.     versuffix_save=$versuffix
  2479.     major_save=$major
  2480.     # I'm not sure if I'm treating the release correctly.  I think
  2481.     # release should show up in the -l (ie -lgmp5) so we don't want to
  2482.     # add it in twice.  Is that correct?
  2483.     release=""
  2484.     versuffix=""
  2485.     major=""
  2486.     newdeplibs=
  2487.     droppeddeps=no
  2488.     case $deplibs_check_method in
  2489.     pass_all)
  2490.       # Don't check for shared/static.  Everything works.
  2491.       # This might be a little naive.  We might want to check
  2492.       # whether the library exists or not.  But this is on
  2493.       # osf3 & osf4 and I'm not really sure... Just
  2494.       # implementing what was already the behaviour.
  2495.       newdeplibs=$deplibs
  2496.       ;;
  2497.     test_compile)
  2498.       # This code stresses the "libraries are programs" paradigm to its
  2499.       # limits. Maybe even breaks it.  We compile a program, linking it
  2500.       # against the deplibs as a proxy for the library.  Then we can check
  2501.       # whether they linked in statically or dynamically with ldd.
  2502.       $rm conftest.c
  2503.       cat > conftest.c <<EOF
  2504.       int main() { return 0; }
  2505. EOF
  2506.       $rm conftest
  2507.       $CC -o conftest conftest.c $deplibs
  2508.       if test $? -eq 0 ; then
  2509.         ldd_output=`ldd conftest`
  2510.         for i in $deplibs; do
  2511.           name="`expr $i : '-l\(.*\)'`"
  2512.           # If $name is empty we are operating on a -L argument.
  2513.           if test -n "$name" && test "$name" != "0"; then
  2514.         libname=`eval \\$echo \"$libname_spec\"`
  2515.         deplib_matches=`eval \\$echo \"$library_names_spec\"`
  2516.         set dummy $deplib_matches
  2517.         deplib_match=$2
  2518.         if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  2519.           newdeplibs="$newdeplibs $i"
  2520.         else
  2521.           droppeddeps=yes
  2522.           echo
  2523.           echo "*** Warning: dynamic linker does not accept needed library $i."
  2524.           echo "*** I have the capability to make that library automatically link in when"
  2525.           echo "*** you link to this library.  But I can only do this if you have a"
  2526.           echo "*** shared version of the library, which I believe you do not have"
  2527.           echo "*** because a test_compile did reveal that the linker did not use it for"
  2528.           echo "*** its dynamic dependency list that programs get resolved with at runtime."
  2529.         fi
  2530.           else
  2531.         newdeplibs="$newdeplibs $i"
  2532.           fi
  2533.         done
  2534.       else
  2535.         # Error occured in the first compile.  Let's try to salvage
  2536.         # the situation: Compile a separate program for each library.
  2537.         for i in $deplibs; do
  2538.           name="`expr $i : '-l\(.*\)'`"
  2539.          # If $name is empty we are operating on a -L argument.
  2540.           if test -n "$name" && test "$name" != "0"; then
  2541.         $rm conftest
  2542.         $CC -o conftest conftest.c $i
  2543.         # Did it work?
  2544.         if test $? -eq 0 ; then
  2545.           ldd_output=`ldd conftest`
  2546.           libname=`eval \\$echo \"$libname_spec\"`
  2547.           deplib_matches=`eval \\$echo \"$library_names_spec\"`
  2548.           set dummy $deplib_matches
  2549.           deplib_match=$2
  2550.           if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
  2551.             newdeplibs="$newdeplibs $i"
  2552.           else
  2553.             droppeddeps=yes
  2554.             echo
  2555.             echo "*** Warning: dynamic linker does not accept needed library $i."
  2556.             echo "*** I have the capability to make that library automatically link in when"
  2557.             echo "*** you link to this library.  But I can only do this if you have a"
  2558.             echo "*** shared version of the library, which you do not appear to have"
  2559.             echo "*** because a test_compile did reveal that the linker did not use this one"
  2560.             echo "*** as a dynamic dependency that programs can get resolved with at runtime."
  2561.           fi
  2562.         else
  2563.           droppeddeps=yes
  2564.           echo
  2565.           echo "*** Warning!  Library $i is needed by this library but I was not able to"
  2566.           echo "***  make it link in!  You will probably need to install it or some"
  2567.           echo "*** library that it depends on before this library will be fully"
  2568.           echo "*** functional.  Installing it before continuing would be even better."
  2569.         fi
  2570.           else
  2571.         newdeplibs="$newdeplibs $i"
  2572.           fi
  2573.         done
  2574.       fi
  2575.       ;;
  2576.     file_magic*)
  2577.       set dummy $deplibs_check_method
  2578.       file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
  2579.       for a_deplib in $deplibs; do
  2580.         name="`expr $a_deplib : '-l\(.*\)'`"
  2581.         # If $name is empty we are operating on a -L argument.
  2582.         if test -n "$name" && test "$name" != "0"; then
  2583.           libname=`eval \\$echo \"$libname_spec\"`
  2584.           for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  2585.             potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  2586.             for potent_lib in $potential_libs; do
  2587.               # Follow soft links.
  2588.               if ls -lLd "$potent_lib" 2>/dev/null \
  2589.              | grep " -> " >/dev/null; then
  2590.             continue
  2591.               fi
  2592.               # The statement above tries to avoid entering an
  2593.               # endless loop below, in case of cyclic links.
  2594.               # We might still enter an endless loop, since a link
  2595.               # loop can be closed while we follow links,
  2596.               # but so what?
  2597.               potlib="$potent_lib"
  2598.               while test -h "$potlib" 2>/dev/null; do
  2599.             potliblink=`ls -ld $potlib | sed 's/.* -> //'`
  2600.             case $potliblink in
  2601.             [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
  2602.             *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
  2603.             esac
  2604.               done
  2605.               if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
  2606.              | sed 10q \
  2607.              | egrep "$file_magic_regex" > /dev/null; then
  2608.             newdeplibs="$newdeplibs $a_deplib"
  2609.             a_deplib=""
  2610.             break 2
  2611.               fi
  2612.             done
  2613.           done
  2614.           if test -n "$a_deplib" ; then
  2615.         droppeddeps=yes
  2616.         echo
  2617.         echo "*** Warning: linker path does not have real file for library $a_deplib."
  2618.         echo "*** I have the capability to make that library automatically link in when"
  2619.         echo "*** you link to this library.  But I can only do this if you have a"
  2620.         echo "*** shared version of the library, which you do not appear to have"
  2621.         echo "*** because I did check the linker path looking for a file starting"
  2622.         if test -z "$potlib" ; then
  2623.           echo "*** with $libname but no candidates were found. (...for file magic test)"
  2624.         else
  2625.           echo "*** with $libname and none of the candidates passed a file format test"
  2626.           echo "*** using a file magic. Last file checked: $potlib"
  2627.         fi
  2628.           fi
  2629.         else
  2630.           # Add a -L argument.
  2631.           newdeplibs="$newdeplibs $a_deplib"
  2632.         fi
  2633.       done # Gone through all deplibs.
  2634.       ;;
  2635.     match_pattern*)
  2636.       set dummy $deplibs_check_method
  2637.       match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
  2638.       for a_deplib in $deplibs; do
  2639.         name="`expr $a_deplib : '-l\(.*\)'`"
  2640.         # If $name is empty we are operating on a -L argument.
  2641.         if test -n "$name" && test "$name" != "0"; then
  2642.           libname=`eval \\$echo \"$libname_spec\"`
  2643.           for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
  2644.         potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
  2645.         for potent_lib in $potential_libs; do
  2646.           potlib="$potent_lib" # see symlink-check below in file_magic test
  2647.           if eval echo \"$potent_lib\" 2>/dev/null \
  2648.               | sed 10q \
  2649.               | egrep "$match_pattern_regex" > /dev/null; then
  2650.             newdeplibs="$newdeplibs $a_deplib"
  2651.             a_deplib=""
  2652.             break 2
  2653.           fi
  2654.         done
  2655.           done
  2656.           if test -n "$a_deplib" ; then
  2657.         droppeddeps=yes
  2658.         echo
  2659.         echo "*** Warning: linker path does not have real file for library $a_deplib."
  2660.         echo "*** I have the capability to make that library automatically link in when"
  2661.         echo "*** you link to this library.  But I can only do this if you have a"
  2662.         echo "*** shared version of the library, which you do not appear to have"
  2663.         echo "*** because I did check the linker path looking for a file starting"
  2664.         if test -z "$potlib" ; then
  2665.           echo "*** with $libname but no candidates were found. (...for regex pattern test)"
  2666.         else
  2667.           echo "*** with $libname and none of the candidates passed a file format test"
  2668.           echo "*** using a regex pattern. Last file checked: $potlib"
  2669.         fi
  2670.           fi
  2671.         else
  2672.           # Add a -L argument.
  2673.           newdeplibs="$newdeplibs $a_deplib"
  2674.         fi
  2675.       done # Gone through all deplibs.
  2676.       ;;
  2677.     none | unknown | *)
  2678.       newdeplibs=""
  2679.       if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
  2680.            -e 's/ -[LR][^ ]*//g' -e 's/[     ]//g' |
  2681.          grep . >/dev/null; then
  2682.         echo
  2683.         if test "X$deplibs_check_method" = "Xnone"; then
  2684.           echo "*** Warning: inter-library dependencies are not supported in this platform."
  2685.         else
  2686.           echo "*** Warning: inter-library dependencies are not known to be supported."
  2687.         fi
  2688.         echo "*** All declared inter-library dependencies are being dropped."
  2689.         droppeddeps=yes
  2690.       fi
  2691.       ;;
  2692.     esac
  2693.     versuffix=$versuffix_save
  2694.     major=$major_save
  2695.     release=$release_save
  2696.     libname=$libname_save
  2697.     name=$name_save
  2698.  
  2699.     case $host in
  2700.     *-*-rhapsody* | *-*-darwin1.[012])
  2701.       # On Rhapsody replace the C library is the System framework
  2702.       newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
  2703.       ;;
  2704.     esac
  2705.  
  2706.     if test "$droppeddeps" = yes; then
  2707.       if test "$module" = yes; then
  2708.         echo
  2709.         echo "*** Warning: libtool could not satisfy all declared inter-library"
  2710.         echo "*** dependencies of module $libname.  Therefore, libtool will create"
  2711.         echo "*** a static module, that should work as long as the dlopening"
  2712.         echo "*** application is linked with the -dlopen flag."
  2713.         if test -z "$global_symbol_pipe"; then
  2714.           echo
  2715.           echo "*** However, this would only work if libtool was able to extract symbol"
  2716.           echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
  2717.           echo "*** not find such a program.  So, this module is probably useless."
  2718.           echo "*** \`nm' from GNU binutils and a full rebuild may help."
  2719.         fi
  2720.         if test "$build_old_libs" = no; then
  2721.           oldlibs="$output_objdir/$libname.$libext"
  2722.           build_libtool_libs=module
  2723.           build_old_libs=yes
  2724.         else
  2725.           build_libtool_libs=no
  2726.         fi
  2727.       else
  2728.         echo "*** The inter-library dependencies that have been dropped here will be"
  2729.         echo "*** automatically added whenever a program is linked with this library"
  2730.         echo "*** or is declared to -dlopen it."
  2731.  
  2732.         if test $allow_undefined = no; then
  2733.           echo
  2734.           echo "*** Since this library must not contain undefined symbols,"
  2735.           echo "*** because either the platform does not support them or"
  2736.           echo "*** it was explicitly requested with -no-undefined,"
  2737.           echo "*** libtool will only create a static version of it."
  2738.           if test "$build_old_libs" = no; then
  2739.         oldlibs="$output_objdir/$libname.$libext"
  2740.         build_libtool_libs=module
  2741.         build_old_libs=yes
  2742.           else
  2743.         build_libtool_libs=no
  2744.           fi
  2745.         fi
  2746.       fi
  2747.     fi
  2748.     # Done checking deplibs!
  2749.     deplibs=$newdeplibs
  2750.       fi
  2751.  
  2752.       # All the library-specific variables (install_libdir is set above).
  2753.       library_names=
  2754.       old_library=
  2755.       dlname=
  2756.  
  2757.       # Test again, we may have decided not to build it any more
  2758.       if test "$build_libtool_libs" = yes; then
  2759.     if test $hardcode_into_libs = yes; then
  2760.       # Hardcode the library paths
  2761.       hardcode_libdirs=
  2762.       dep_rpath=
  2763.       rpath="$finalize_rpath"
  2764.       test "$mode" != relink && rpath="$compile_rpath$rpath"
  2765.       for libdir in $rpath; do
  2766.         if test -n "$hardcode_libdir_flag_spec"; then
  2767.           if test -n "$hardcode_libdir_separator"; then
  2768.         if test -z "$hardcode_libdirs"; then
  2769.           hardcode_libdirs="$libdir"
  2770.         else
  2771.           # Just accumulate the unique libdirs.
  2772.           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  2773.           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  2774.             ;;
  2775.           *)
  2776.             hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  2777.             ;;
  2778.           esac
  2779.         fi
  2780.           else
  2781.         eval flag=\"$hardcode_libdir_flag_spec\"
  2782.         dep_rpath="$dep_rpath $flag"
  2783.           fi
  2784.         elif test -n "$runpath_var"; then
  2785.           case "$perm_rpath " in
  2786.           *" $libdir "*) ;;
  2787.           *) perm_rpath="$perm_rpath $libdir" ;;
  2788.           esac
  2789.         fi
  2790.       done
  2791.       # Substitute the hardcoded libdirs into the rpath.
  2792.       if test -n "$hardcode_libdir_separator" &&
  2793.          test -n "$hardcode_libdirs"; then
  2794.         libdir="$hardcode_libdirs"
  2795.         eval dep_rpath=\"$hardcode_libdir_flag_spec\"
  2796.       fi
  2797.       if test -n "$runpath_var" && test -n "$perm_rpath"; then
  2798.         # We should set the runpath_var.
  2799.         rpath=
  2800.         for dir in $perm_rpath; do
  2801.           rpath="$rpath$dir:"
  2802.         done
  2803.         eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
  2804.       fi
  2805.       test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
  2806.     fi
  2807.  
  2808.     shlibpath="$finalize_shlibpath"
  2809.     test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
  2810.     if test -n "$shlibpath"; then
  2811.       eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
  2812.     fi
  2813.  
  2814.     # Get the real and link names of the library.
  2815.     eval library_names=\"$library_names_spec\"
  2816.     set dummy $library_names
  2817.     realname="$2"
  2818.     shift; shift
  2819.  
  2820.     if test -n "$soname_spec"; then
  2821.       eval soname=\"$soname_spec\"
  2822.     else
  2823.       soname="$realname"
  2824.     fi
  2825.     test -z "$dlname" && dlname=$soname
  2826.  
  2827.     lib="$output_objdir/$realname"
  2828.     for link
  2829.     do
  2830.       linknames="$linknames $link"
  2831.     done
  2832.  
  2833.     # Ensure that we have .o objects for linkers which dislike .lo
  2834.     # (e.g. aix) in case we are running --disable-static
  2835.     for obj in $libobjs; do
  2836.       xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
  2837.       if test "X$xdir" = "X$obj"; then
  2838.         xdir="."
  2839.       else
  2840.         xdir="$xdir"
  2841.       fi
  2842.       baseobj=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
  2843.       oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
  2844.       if test ! -f $xdir/$oldobj; then
  2845.         $show "(cd $xdir && ${LN_S} $baseobj $oldobj)"
  2846.         $run eval '(cd $xdir && ${LN_S} $baseobj $oldobj)' || exit $?
  2847.       fi
  2848.     done
  2849.  
  2850.     # Use standard objects if they are pic
  2851.     test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  2852.  
  2853.     # Prepare the list of exported symbols
  2854.     if test -z "$export_symbols"; then
  2855.       if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
  2856.         $show "generating symbol list for \`$libname.la'"
  2857.         export_symbols="$output_objdir/$libname.exp"
  2858.         $run $rm $export_symbols
  2859.         eval cmds=\"$export_symbols_cmds\"
  2860.         save_ifs="$IFS"; IFS='~'
  2861.         for cmd in $cmds; do
  2862.           IFS="$save_ifs"
  2863.           $show "$cmd"
  2864.           $run eval "$cmd" || exit $?
  2865.         done
  2866.         IFS="$save_ifs"
  2867.         if test -n "$export_symbols_regex"; then
  2868.           $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
  2869.           $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
  2870.           $show "$mv \"${export_symbols}T\" \"$export_symbols\""
  2871.           $run eval '$mv "${export_symbols}T" "$export_symbols"'
  2872.         fi
  2873.       fi
  2874.     fi
  2875.  
  2876.     if test -n "$export_symbols" && test -n "$include_expsyms"; then
  2877.       $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
  2878.     fi
  2879.  
  2880.     if test -n "$convenience"; then
  2881.       if test -n "$whole_archive_flag_spec"; then
  2882.         eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
  2883.       else
  2884.         gentop="$output_objdir/${outputname}x"
  2885.         $show "${rm}r $gentop"
  2886.         $run ${rm}r "$gentop"
  2887.         $show "mkdir $gentop"
  2888.         $run mkdir "$gentop"
  2889.         status=$?
  2890.         if test $status -ne 0 && test ! -d "$gentop"; then
  2891.           exit $status
  2892.         fi
  2893.         generated="$generated $gentop"
  2894.  
  2895.         for xlib in $convenience; do
  2896.           # Extract the objects.
  2897.           case $xlib in
  2898.           [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
  2899.           *) xabs=`pwd`"/$xlib" ;;
  2900.           esac
  2901.           xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  2902.           xdir="$gentop/$xlib"
  2903.  
  2904.           $show "${rm}r $xdir"
  2905.           $run ${rm}r "$xdir"
  2906.           $show "mkdir $xdir"
  2907.           $run mkdir "$xdir"
  2908.           status=$?
  2909.           if test $status -ne 0 && test ! -d "$xdir"; then
  2910.         exit $status
  2911.           fi
  2912.           $show "(cd $xdir && $AR x $xabs)"
  2913.           $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
  2914.  
  2915.           libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
  2916.         done
  2917.       fi
  2918.     fi
  2919.  
  2920.     if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
  2921.       eval flag=\"$thread_safe_flag_spec\"
  2922.       linker_flags="$linker_flags $flag"
  2923.     fi
  2924.  
  2925.     # Make a backup of the uninstalled library when relinking
  2926.     if test "$mode" = relink; then
  2927.       $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
  2928.     fi
  2929.  
  2930.     # Do each of the archive commands.
  2931.     if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
  2932.       eval cmds=\"$archive_expsym_cmds\"
  2933.     else
  2934.       eval cmds=\"$archive_cmds\"
  2935.     fi
  2936.     save_ifs="$IFS"; IFS='~'
  2937.     for cmd in $cmds; do
  2938.       IFS="$save_ifs"
  2939.       $show "$cmd"
  2940.       $run eval "$cmd" || exit $?
  2941.     done
  2942.     IFS="$save_ifs"
  2943.  
  2944.     # Restore the uninstalled library and exit
  2945.     if test "$mode" = relink; then
  2946.       $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
  2947.       exit 0
  2948.     fi
  2949.  
  2950.     # Create links to the real library.
  2951.     for linkname in $linknames; do
  2952.       if test "$realname" != "$linkname"; then
  2953.         $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
  2954.         $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
  2955.       fi
  2956.     done
  2957.  
  2958.     # If -module or -export-dynamic was specified, set the dlname.
  2959.     if test "$module" = yes || test "$export_dynamic" = yes; then
  2960.       # On all known operating systems, these are identical.
  2961.       dlname="$soname"
  2962.     fi
  2963.       fi
  2964.       ;;
  2965.  
  2966.     obj)
  2967.       if test -n "$deplibs"; then
  2968.     $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
  2969.       fi
  2970.  
  2971.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  2972.     $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
  2973.       fi
  2974.  
  2975.       if test -n "$rpath"; then
  2976.     $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
  2977.       fi
  2978.  
  2979.       if test -n "$xrpath"; then
  2980.     $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
  2981.       fi
  2982.  
  2983.       if test -n "$vinfo"; then
  2984.     $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
  2985.       fi
  2986.  
  2987.       if test -n "$release"; then
  2988.     $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
  2989.       fi
  2990.  
  2991.       case $output in
  2992.       *.lo)
  2993.     if test -n "$objs$old_deplibs"; then
  2994.       $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
  2995.       exit 1
  2996.     fi
  2997.     libobj="$output"
  2998.     obj=`$echo "X$output" | $Xsed -e "$lo2o"`
  2999.     ;;
  3000.       *)
  3001.     libobj=
  3002.     obj="$output"
  3003.     ;;
  3004.       esac
  3005.  
  3006.       # Delete the old objects.
  3007.       $run $rm $obj $libobj
  3008.  
  3009.       # Objects from convenience libraries.  This assumes
  3010.       # single-version convenience libraries.  Whenever we create
  3011.       # different ones for PIC/non-PIC, this we'll have to duplicate
  3012.       # the extraction.
  3013.       reload_conv_objs=
  3014.       gentop=
  3015.       # reload_cmds runs $LD directly, so let us get rid of
  3016.       # -Wl from whole_archive_flag_spec
  3017.       wl=
  3018.  
  3019.       if test -n "$convenience"; then
  3020.     if test -n "$whole_archive_flag_spec"; then
  3021.       eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
  3022.     else
  3023.       gentop="$output_objdir/${obj}x"
  3024.       $show "${rm}r $gentop"
  3025.       $run ${rm}r "$gentop"
  3026.       $show "mkdir $gentop"
  3027.       $run mkdir "$gentop"
  3028.       status=$?
  3029.       if test $status -ne 0 && test ! -d "$gentop"; then
  3030.         exit $status
  3031.       fi
  3032.       generated="$generated $gentop"
  3033.  
  3034.       for xlib in $convenience; do
  3035.         # Extract the objects.
  3036.         case $xlib in
  3037.         [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
  3038.         *) xabs=`pwd`"/$xlib" ;;
  3039.         esac
  3040.         xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  3041.         xdir="$gentop/$xlib"
  3042.  
  3043.         $show "${rm}r $xdir"
  3044.         $run ${rm}r "$xdir"
  3045.         $show "mkdir $xdir"
  3046.         $run mkdir "$xdir"
  3047.         status=$?
  3048.         if test $status -ne 0 && test ! -d "$xdir"; then
  3049.           exit $status
  3050.         fi
  3051.         $show "(cd $xdir && $AR x $xabs)"
  3052.         $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
  3053.  
  3054.         reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
  3055.       done
  3056.     fi
  3057.       fi
  3058.  
  3059.       # Create the old-style object.
  3060.       reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
  3061.  
  3062.       output="$obj"
  3063.       eval cmds=\"$reload_cmds\"
  3064.       save_ifs="$IFS"; IFS='~'
  3065.       for cmd in $cmds; do
  3066.     IFS="$save_ifs"
  3067.     $show "$cmd"
  3068.     $run eval "$cmd" || exit $?
  3069.       done
  3070.       IFS="$save_ifs"
  3071.  
  3072.       # Exit if we aren't doing a library object file.
  3073.       if test -z "$libobj"; then
  3074.     if test -n "$gentop"; then
  3075.       $show "${rm}r $gentop"
  3076.       $run ${rm}r $gentop
  3077.     fi
  3078.  
  3079.     exit 0
  3080.       fi
  3081.  
  3082.       if test "$build_libtool_libs" != yes; then
  3083.     if test -n "$gentop"; then
  3084.       $show "${rm}r $gentop"
  3085.       $run ${rm}r $gentop
  3086.     fi
  3087.  
  3088.     # Create an invalid libtool object if no PIC, so that we don't
  3089.     # accidentally link it into a program.
  3090.     $show "echo timestamp > $libobj"
  3091.     $run eval "echo timestamp > $libobj" || exit $?
  3092.     exit 0
  3093.       fi
  3094.  
  3095.       if test -n "$pic_flag" || test "$pic_mode" != default; then
  3096.     # Only do commands if we really have different PIC objects.
  3097.     reload_objs="$libobjs $reload_conv_objs"
  3098.     output="$libobj"
  3099.     eval cmds=\"$reload_cmds\"
  3100.     save_ifs="$IFS"; IFS='~'
  3101.     for cmd in $cmds; do
  3102.       IFS="$save_ifs"
  3103.       $show "$cmd"
  3104.       $run eval "$cmd" || exit $?
  3105.     done
  3106.     IFS="$save_ifs"
  3107.       else
  3108.     # Just create a symlink.
  3109.     $show $rm $libobj
  3110.     $run $rm $libobj
  3111.     xdir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
  3112.     if test "X$xdir" = "X$libobj"; then
  3113.       xdir="."
  3114.     else
  3115.       xdir="$xdir"
  3116.     fi
  3117.     baseobj=`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
  3118.     oldobj=`$echo "X$baseobj" | $Xsed -e "$lo2o"`
  3119.     $show "(cd $xdir && $LN_S $oldobj $baseobj)"
  3120.     $run eval '(cd $xdir && $LN_S $oldobj $baseobj)' || exit $?
  3121.       fi
  3122.  
  3123.       if test -n "$gentop"; then
  3124.     $show "${rm}r $gentop"
  3125.     $run ${rm}r $gentop
  3126.       fi
  3127.  
  3128.       exit 0
  3129.       ;;
  3130.  
  3131.     prog)
  3132.       case $host in
  3133.     *cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;;
  3134.       esac
  3135.       if test -n "$vinfo"; then
  3136.     $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
  3137.       fi
  3138.  
  3139.       if test -n "$release"; then
  3140.     $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
  3141.       fi
  3142.  
  3143.       if test "$preload" = yes; then
  3144.     if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
  3145.        test "$dlopen_self_static" = unknown; then
  3146.       $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
  3147.     fi
  3148.       fi
  3149.  
  3150.       case $host in
  3151.       *-*-rhapsody* | *-*-darwin1.[012])
  3152.     # On Rhapsody replace the C library is the System framework
  3153.     compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
  3154.     finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
  3155.     ;;
  3156.       esac
  3157.  
  3158.       compile_command="$compile_command $compile_deplibs"
  3159.       finalize_command="$finalize_command $finalize_deplibs"
  3160.  
  3161.       if test -n "$rpath$xrpath"; then
  3162.     # If the user specified any rpath flags, then add them.
  3163.     for libdir in $rpath $xrpath; do
  3164.       # This is the magic to use -rpath.
  3165.       case "$finalize_rpath " in
  3166.       *" $libdir "*) ;;
  3167.       *) finalize_rpath="$finalize_rpath $libdir" ;;
  3168.       esac
  3169.     done
  3170.       fi
  3171.  
  3172.       # Now hardcode the library paths
  3173.       rpath=
  3174.       hardcode_libdirs=
  3175.       for libdir in $compile_rpath $finalize_rpath; do
  3176.     if test -n "$hardcode_libdir_flag_spec"; then
  3177.       if test -n "$hardcode_libdir_separator"; then
  3178.         if test -z "$hardcode_libdirs"; then
  3179.           hardcode_libdirs="$libdir"
  3180.         else
  3181.           # Just accumulate the unique libdirs.
  3182.           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  3183.           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  3184.         ;;
  3185.           *)
  3186.         hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  3187.         ;;
  3188.           esac
  3189.         fi
  3190.       else
  3191.         eval flag=\"$hardcode_libdir_flag_spec\"
  3192.         rpath="$rpath $flag"
  3193.       fi
  3194.     elif test -n "$runpath_var"; then
  3195.       case "$perm_rpath " in
  3196.       *" $libdir "*) ;;
  3197.       *) perm_rpath="$perm_rpath $libdir" ;;
  3198.       esac
  3199.     fi
  3200.     case $host in
  3201.     *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
  3202.       case :$dllsearchpath: in
  3203.       *":$libdir:"*) ;;
  3204.       *) dllsearchpath="$dllsearchpath:$libdir";;
  3205.       esac
  3206.       ;;
  3207.     esac
  3208.       done
  3209.       # Substitute the hardcoded libdirs into the rpath.
  3210.       if test -n "$hardcode_libdir_separator" &&
  3211.      test -n "$hardcode_libdirs"; then
  3212.     libdir="$hardcode_libdirs"
  3213.     eval rpath=\" $hardcode_libdir_flag_spec\"
  3214.       fi
  3215.       compile_rpath="$rpath"
  3216.  
  3217.       rpath=
  3218.       hardcode_libdirs=
  3219.       for libdir in $finalize_rpath; do
  3220.     if test -n "$hardcode_libdir_flag_spec"; then
  3221.       if test -n "$hardcode_libdir_separator"; then
  3222.         if test -z "$hardcode_libdirs"; then
  3223.           hardcode_libdirs="$libdir"
  3224.         else
  3225.           # Just accumulate the unique libdirs.
  3226.           case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
  3227.           *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
  3228.         ;;
  3229.           *)
  3230.         hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
  3231.         ;;
  3232.           esac
  3233.         fi
  3234.       else
  3235.         eval flag=\"$hardcode_libdir_flag_spec\"
  3236.         rpath="$rpath $flag"
  3237.       fi
  3238.     elif test -n "$runpath_var"; then
  3239.       case "$finalize_perm_rpath " in
  3240.       *" $libdir "*) ;;
  3241.       *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
  3242.       esac
  3243.     fi
  3244.       done
  3245.       # Substitute the hardcoded libdirs into the rpath.
  3246.       if test -n "$hardcode_libdir_separator" &&
  3247.      test -n "$hardcode_libdirs"; then
  3248.     libdir="$hardcode_libdirs"
  3249.     eval rpath=\" $hardcode_libdir_flag_spec\"
  3250.       fi
  3251.       finalize_rpath="$rpath"
  3252.  
  3253.       if test -n "$libobjs" && test "$build_old_libs" = yes; then
  3254.     # Transform all the library objects into standard objects.
  3255.     compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  3256.     finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  3257.       fi
  3258.  
  3259.       dlsyms=
  3260.       if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
  3261.     if test -n "$NM" && test -n "$global_symbol_pipe"; then
  3262.       dlsyms="${outputname}S.c"
  3263.     else
  3264.       $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
  3265.     fi
  3266.       fi
  3267.  
  3268.       if test -n "$dlsyms"; then
  3269.     case $dlsyms in
  3270.     "") ;;
  3271.     *.c)
  3272.       # Discover the nlist of each of the dlfiles.
  3273.       nlist="$output_objdir/${outputname}.nm"
  3274.  
  3275.       $show "$rm $nlist ${nlist}S ${nlist}T"
  3276.       $run $rm "$nlist" "${nlist}S" "${nlist}T"
  3277.  
  3278.       # Parse the name list into a source file.
  3279.       $show "creating $output_objdir/$dlsyms"
  3280.  
  3281.       test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
  3282. /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
  3283. /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
  3284.  
  3285. #ifdef __cplusplus
  3286. extern \"C\" {
  3287. #endif
  3288.  
  3289. /* Prevent the only kind of declaration conflicts we can make. */
  3290. #define lt_preloaded_symbols some_other_symbol
  3291.  
  3292. /* External symbol declarations for the compiler. */\
  3293. "
  3294.  
  3295.       if test "$dlself" = yes; then
  3296.         $show "generating symbol list for \`$output'"
  3297.  
  3298.         test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
  3299.  
  3300.         # Add our own program objects to the symbol list.
  3301.         progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
  3302.         for arg in $progfiles; do
  3303.           $show "extracting global C symbols from \`$arg'"
  3304.           $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  3305.         done
  3306.  
  3307.         if test -n "$exclude_expsyms"; then
  3308.           $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
  3309.           $run eval '$mv "$nlist"T "$nlist"'
  3310.         fi
  3311.  
  3312.         if test -n "$export_symbols_regex"; then
  3313.           $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
  3314.           $run eval '$mv "$nlist"T "$nlist"'
  3315.         fi
  3316.  
  3317.         # Prepare the list of exported symbols
  3318.         if test -z "$export_symbols"; then
  3319.           export_symbols="$output_objdir/$output.exp"
  3320.           $run $rm $export_symbols
  3321.           $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
  3322.         else
  3323.           $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
  3324.           $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
  3325.           $run eval 'mv "$nlist"T "$nlist"'
  3326.         fi
  3327.       fi
  3328.  
  3329.       for arg in $dlprefiles; do
  3330.         $show "extracting global C symbols from \`$arg'"
  3331.         name=`echo "$arg" | sed -e 's%^.*/%%'`
  3332.         $run eval 'echo ": $name " >> "$nlist"'
  3333.         $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
  3334.       done
  3335.  
  3336.       if test -z "$run"; then
  3337.         # Make sure we have at least an empty file.
  3338.         test -f "$nlist" || : > "$nlist"
  3339.  
  3340.         if test -n "$exclude_expsyms"; then
  3341.           egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
  3342.           $mv "$nlist"T "$nlist"
  3343.         fi
  3344.  
  3345.         # Try sorting and uniquifying the output.
  3346.         if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
  3347.           :
  3348.         else
  3349.           grep -v "^: " < "$nlist" > "$nlist"S
  3350.         fi
  3351.  
  3352.         if test -f "$nlist"S; then
  3353.           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
  3354.         else
  3355.           echo '/* NONE */' >> "$output_objdir/$dlsyms"
  3356.         fi
  3357.  
  3358.         $echo >> "$output_objdir/$dlsyms" "\
  3359.  
  3360. #undef lt_preloaded_symbols
  3361.  
  3362. #if defined (__STDC__) && __STDC__
  3363. # define lt_ptr void *
  3364. #else
  3365. # define lt_ptr char *
  3366. # define const
  3367. #endif
  3368.  
  3369. /* The mapping between symbol names and symbols. */
  3370. const struct {
  3371.   const char *name;
  3372.   lt_ptr address;
  3373. }
  3374. lt_preloaded_symbols[] =
  3375. {\
  3376. "
  3377.  
  3378.         eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
  3379.  
  3380.         $echo >> "$output_objdir/$dlsyms" "\
  3381.   {0, (lt_ptr) 0}
  3382. };
  3383.  
  3384. /* This works around a problem in FreeBSD linker */
  3385. #ifdef FREEBSD_WORKAROUND
  3386. static const void *lt_preloaded_setup() {
  3387.   return lt_preloaded_symbols;
  3388. }
  3389. #endif
  3390.  
  3391. #ifdef __cplusplus
  3392. }
  3393. #endif\
  3394. "
  3395.       fi
  3396.  
  3397.       pic_flag_for_symtable=
  3398.       case $host in
  3399.       # compiling the symbol table file with pic_flag works around
  3400.       # a FreeBSD bug that causes programs to crash when -lm is
  3401.       # linked before any other PIC object.  But we must not use
  3402.       # pic_flag when linking with -static.  The problem exists in
  3403.       # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
  3404.       *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
  3405.         case "$compile_command " in
  3406.         *" -static "*) ;;
  3407.         *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
  3408.         esac;;
  3409.       *-*-hpux*)
  3410.         case "$compile_command " in
  3411.         *" -static "*) ;;
  3412.         *) pic_flag_for_symtable=" $pic_flag -DPIC";;
  3413.         esac
  3414.       esac
  3415.  
  3416.       # Now compile the dynamic symbol file.
  3417.       $show "(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
  3418.       $run eval '(cd $output_objdir && $CC -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
  3419.  
  3420.       # Clean up the generated files.
  3421.       $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
  3422.       $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
  3423.  
  3424.       # Transform the symbol file into the correct name.
  3425.       compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  3426.       finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
  3427.       ;;
  3428.     *)
  3429.       $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
  3430.       exit 1
  3431.       ;;
  3432.     esac
  3433.       else
  3434.     # We keep going just in case the user didn't refer to
  3435.     # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
  3436.     # really was required.
  3437.  
  3438.     # Nullify the symbol file.
  3439.     compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
  3440.     finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
  3441.       fi
  3442.  
  3443.       if test $need_relink = no || test "$build_libtool_libs" != yes; then
  3444.     # Replace the output file specification.
  3445.     compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  3446.     link_command="$compile_command$compile_rpath"
  3447.  
  3448.     # We have no uninstalled library dependencies, so finalize right now.
  3449.     $show "$link_command"
  3450.     $run eval "$link_command"
  3451.     status=$?
  3452.  
  3453.     # Delete the generated files.
  3454.     if test -n "$dlsyms"; then
  3455.       $show "$rm $output_objdir/${outputname}S.${objext}"
  3456.       $run $rm "$output_objdir/${outputname}S.${objext}"
  3457.     fi
  3458.  
  3459.     exit $status
  3460.       fi
  3461.  
  3462.       if test -n "$shlibpath_var"; then
  3463.     # We should set the shlibpath_var
  3464.     rpath=
  3465.     for dir in $temp_rpath; do
  3466.       case $dir in
  3467.       [\\/]* | [A-Za-z]:[\\/]*)
  3468.         # Absolute path.
  3469.         rpath="$rpath$dir:"
  3470.         ;;
  3471.       *)
  3472.         # Relative path: add a thisdir entry.
  3473.         rpath="$rpath\$thisdir/$dir:"
  3474.         ;;
  3475.       esac
  3476.     done
  3477.     temp_rpath="$rpath"
  3478.       fi
  3479.  
  3480.       if test -n "$compile_shlibpath$finalize_shlibpath"; then
  3481.     compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
  3482.       fi
  3483.       if test -n "$finalize_shlibpath"; then
  3484.     finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
  3485.       fi
  3486.  
  3487.       compile_var=
  3488.       finalize_var=
  3489.       if test -n "$runpath_var"; then
  3490.     if test -n "$perm_rpath"; then
  3491.       # We should set the runpath_var.
  3492.       rpath=
  3493.       for dir in $perm_rpath; do
  3494.         rpath="$rpath$dir:"
  3495.       done
  3496.       compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
  3497.     fi
  3498.     if test -n "$finalize_perm_rpath"; then
  3499.       # We should set the runpath_var.
  3500.       rpath=
  3501.       for dir in $finalize_perm_rpath; do
  3502.         rpath="$rpath$dir:"
  3503.       done
  3504.       finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
  3505.     fi
  3506.       fi
  3507.  
  3508.       if test "$no_install" = yes; then
  3509.     # We don't need to create a wrapper script.
  3510.     link_command="$compile_var$compile_command$compile_rpath"
  3511.     # Replace the output file specification.
  3512.     link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
  3513.     # Delete the old output file.
  3514.     $run $rm $output
  3515.     # Link the executable and exit
  3516.     $show "$link_command"
  3517.     $run eval "$link_command" || exit $?
  3518.     exit 0
  3519.       fi
  3520.  
  3521.       if test "$hardcode_action" = relink; then
  3522.     # Fast installation is not supported
  3523.     link_command="$compile_var$compile_command$compile_rpath"
  3524.     relink_command="$finalize_var$finalize_command$finalize_rpath"
  3525.  
  3526.     $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
  3527.     $echo "$modename: \`$output' will be relinked during installation" 1>&2
  3528.       else
  3529.     if test "$fast_install" != no; then
  3530.       link_command="$finalize_var$compile_command$finalize_rpath"
  3531.       if test "$fast_install" = yes; then
  3532.         relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
  3533.       else
  3534.         # fast_install is set to needless
  3535.         relink_command=
  3536.       fi
  3537.     else
  3538.       link_command="$compile_var$compile_command$compile_rpath"
  3539.       relink_command="$finalize_var$finalize_command$finalize_rpath"
  3540.     fi
  3541.       fi
  3542.  
  3543.       # Replace the output file specification.
  3544.       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
  3545.  
  3546.       # Delete the old output files.
  3547.       $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
  3548.  
  3549.       $show "$link_command"
  3550.       $run eval "$link_command" || exit $?
  3551.  
  3552.       # Now create the wrapper script.
  3553.       $show "creating $output"
  3554.  
  3555.       # Quote the relink command for shipping.
  3556.       if test -n "$relink_command"; then
  3557.     # Preserve any variables that may affect compiler behavior
  3558.     for var in $variables_saved_for_relink; do
  3559.       if eval test -z \"\${$var+set}\"; then
  3560.         relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
  3561.       elif eval var_value=\$$var; test -z "$var_value"; then
  3562.         relink_command="$var=; export $var; $relink_command"
  3563.       else
  3564.         var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
  3565.         relink_command="$var=\"$var_value\"; export $var; $relink_command"
  3566.       fi
  3567.     done
  3568.     relink_command="(cd `pwd`; $relink_command)"
  3569.     relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
  3570.       fi
  3571.  
  3572.       # Quote $echo for shipping.
  3573.       if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
  3574.     case $0 in
  3575.     [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
  3576.     *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
  3577.     esac
  3578.     qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
  3579.       else
  3580.     qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
  3581.       fi
  3582.  
  3583.       # Only actually do things if our run command is non-null.
  3584.       if test -z "$run"; then
  3585.     # win32 will think the script is a binary if it has
  3586.     # a .exe suffix, so we strip it off here.
  3587.     case $output in
  3588.       *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
  3589.     esac
  3590.     # test for cygwin because mv fails w/o .exe extensions
  3591.     case $host in
  3592.       *cygwin*) exeext=.exe ;;
  3593.       *) exeext= ;;
  3594.     esac
  3595.     $rm $output
  3596.     trap "$rm $output; exit 1" 1 2 15
  3597.  
  3598.     $echo > $output "\
  3599. #! $SHELL
  3600.  
  3601. # $output - temporary wrapper script for $objdir/$outputname
  3602. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  3603. #
  3604. # The $output program cannot be directly executed until all the libtool
  3605. # libraries that it depends on are installed.
  3606. #
  3607. # This wrapper script should never be moved out of the build directory.
  3608. # If it is, it will not operate correctly.
  3609.  
  3610. # Sed substitution that helps us do robust quoting.  It backslashifies
  3611. # metacharacters that are still active within double-quoted strings.
  3612. Xsed='sed -e 1s/^X//'
  3613. sed_quote_subst='$sed_quote_subst'
  3614.  
  3615. # The HP-UX ksh and POSIX shell print the target directory to stdout
  3616. # if CDPATH is set.
  3617. if test \"\${CDPATH+set}\" = set; then CDPATH=:; export CDPATH; fi
  3618.  
  3619. relink_command=\"$relink_command\"
  3620.  
  3621. # This environment variable determines our operation mode.
  3622. if test \"\$libtool_install_magic\" = \"$magic\"; then
  3623.   # install mode needs the following variable:
  3624.   notinst_deplibs='$notinst_deplibs'
  3625. else
  3626.   # When we are sourced in execute mode, \$file and \$echo are already set.
  3627.   if test \"\$libtool_execute_magic\" != \"$magic\"; then
  3628.     echo=\"$qecho\"
  3629.     file=\"\$0\"
  3630.     # Make sure echo works.
  3631.     if test \"X\$1\" = X--no-reexec; then
  3632.       # Discard the --no-reexec flag, and continue.
  3633.       shift
  3634.     elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
  3635.       # Yippee, \$echo works!
  3636.       :
  3637.     else
  3638.       # Restart under the correct shell, and then maybe \$echo will work.
  3639.       exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
  3640.     fi
  3641.   fi\
  3642. "
  3643.     $echo >> $output "\
  3644.  
  3645.   # Find the directory that this script lives in.
  3646.   thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
  3647.   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
  3648.  
  3649.   # Follow symbolic links until we get to the real thisdir.
  3650.   file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
  3651.   while test -n \"\$file\"; do
  3652.     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
  3653.  
  3654.     # If there was a directory component, then change thisdir.
  3655.     if test \"x\$destdir\" != \"x\$file\"; then
  3656.       case \"\$destdir\" in
  3657.       [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
  3658.       *) thisdir=\"\$thisdir/\$destdir\" ;;
  3659.       esac
  3660.     fi
  3661.  
  3662.     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
  3663.     file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
  3664.   done
  3665.  
  3666.   # Try to get the absolute directory name.
  3667.   absdir=\`cd \"\$thisdir\" && pwd\`
  3668.   test -n \"\$absdir\" && thisdir=\"\$absdir\"
  3669. "
  3670.  
  3671.     if test "$fast_install" = yes; then
  3672.       echo >> $output "\
  3673.   program=lt-'$outputname'$exeext
  3674.   progdir=\"\$thisdir/$objdir\"
  3675.  
  3676.   if test ! -f \"\$progdir/\$program\" || \\
  3677.      { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
  3678.        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
  3679.  
  3680.     file=\"\$\$-\$program\"
  3681.  
  3682.     if test ! -d \"\$progdir\"; then
  3683.       $mkdir \"\$progdir\"
  3684.     else
  3685.       $rm \"\$progdir/\$file\"
  3686.     fi"
  3687.  
  3688.       echo >> $output "\
  3689.  
  3690.     # relink executable if necessary
  3691.     if test -n \"\$relink_command\"; then
  3692.       if relink_command_output=\`eval \$relink_command 2>&1\`; then :
  3693.       else
  3694.     $echo \"\$relink_command_output\" >&2
  3695.     $rm \"\$progdir/\$file\"
  3696.     exit 1
  3697.       fi
  3698.     fi
  3699.  
  3700.     $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
  3701.     { $rm \"\$progdir/\$program\";
  3702.       $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
  3703.     $rm \"\$progdir/\$file\"
  3704.   fi"
  3705.     else
  3706.       echo >> $output "\
  3707.   program='$outputname'
  3708.   progdir=\"\$thisdir/$objdir\"
  3709. "
  3710.     fi
  3711.  
  3712.     echo >> $output "\
  3713.  
  3714.   if test -f \"\$progdir/\$program\"; then"
  3715.  
  3716.     # Export our shlibpath_var if we have one.
  3717.     if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
  3718.       $echo >> $output "\
  3719.     # Add our own library path to $shlibpath_var
  3720.     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
  3721.  
  3722.     # Some systems cannot cope with colon-terminated $shlibpath_var
  3723.     # The second colon is a workaround for a bug in BeOS R4 sed
  3724.     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
  3725.  
  3726.     export $shlibpath_var
  3727. "
  3728.     fi
  3729.  
  3730.     # fixup the dll searchpath if we need to.
  3731.     if test -n "$dllsearchpath"; then
  3732.       $echo >> $output "\
  3733.     # Add the dll search path components to the executable PATH
  3734.     PATH=$dllsearchpath:\$PATH
  3735. "
  3736.     fi
  3737.  
  3738.     $echo >> $output "\
  3739.     if test \"\$libtool_execute_magic\" != \"$magic\"; then
  3740.       # Run the actual program with our arguments.
  3741. "
  3742.     case $host in
  3743.     # win32 systems need to use the prog path for dll
  3744.     # lookup to work
  3745.     *-*-cygwin* | *-*-pw32*)
  3746.       $echo >> $output "\
  3747.       exec \$progdir/\$program \${1+\"\$@\"}
  3748. "
  3749.       ;;
  3750.  
  3751.     # Backslashes separate directories on plain windows
  3752.     *-*-mingw | *-*-os2*)
  3753.       $echo >> $output "\
  3754.       exec \$progdir\\\\\$program \${1+\"\$@\"}
  3755. "
  3756.       ;;
  3757.  
  3758.     *)
  3759.       $echo >> $output "\
  3760.       # Export the path to the program.
  3761.       PATH=\"\$progdir:\$PATH\"
  3762.       export PATH
  3763.  
  3764.       exec \$program \${1+\"\$@\"}
  3765. "
  3766.       ;;
  3767.     esac
  3768.     $echo >> $output "\
  3769.       \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
  3770.       exit 1
  3771.     fi
  3772.   else
  3773.     # The program doesn't exist.
  3774.     \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
  3775.     \$echo \"This script is just a wrapper for \$program.\" 1>&2
  3776.     echo \"See the $PACKAGE documentation for more information.\" 1>&2
  3777.     exit 1
  3778.   fi
  3779. fi\
  3780. "
  3781.     chmod +x $output
  3782.       fi
  3783.       exit 0
  3784.       ;;
  3785.     esac
  3786.  
  3787.     # See if we need to build an old-fashioned archive.
  3788.     for oldlib in $oldlibs; do
  3789.  
  3790.       if test "$build_libtool_libs" = convenience; then
  3791.     oldobjs="$libobjs_save"
  3792.     addlibs="$convenience"
  3793.     build_libtool_libs=no
  3794.       else
  3795.     if test "$build_libtool_libs" = module; then
  3796.       oldobjs="$libobjs_save"
  3797.       build_libtool_libs=no
  3798.     else
  3799.       oldobjs="$objs$old_deplibs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
  3800.     fi
  3801.     addlibs="$old_convenience"
  3802.       fi
  3803.  
  3804.       if test -n "$addlibs"; then
  3805.     gentop="$output_objdir/${outputname}x"
  3806.     $show "${rm}r $gentop"
  3807.     $run ${rm}r "$gentop"
  3808.     $show "mkdir $gentop"
  3809.     $run mkdir "$gentop"
  3810.     status=$?
  3811.     if test $status -ne 0 && test ! -d "$gentop"; then
  3812.       exit $status
  3813.     fi
  3814.     generated="$generated $gentop"
  3815.  
  3816.     # Add in members from convenience archives.
  3817.     for xlib in $addlibs; do
  3818.       # Extract the objects.
  3819.       case $xlib in
  3820.       [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
  3821.       *) xabs=`pwd`"/$xlib" ;;
  3822.       esac
  3823.       xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
  3824.       xdir="$gentop/$xlib"
  3825.  
  3826.       $show "${rm}r $xdir"
  3827.       $run ${rm}r "$xdir"
  3828.       $show "mkdir $xdir"
  3829.       $run mkdir "$xdir"
  3830.       status=$?
  3831.       if test $status -ne 0 && test ! -d "$xdir"; then
  3832.         exit $status
  3833.       fi
  3834.       $show "(cd $xdir && $AR x $xabs)"
  3835.       $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
  3836.  
  3837.       oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
  3838.     done
  3839.       fi
  3840.  
  3841.       # Do each command in the archive commands.
  3842.       if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
  3843.     eval cmds=\"$old_archive_from_new_cmds\"
  3844.       else
  3845.     # Ensure that we have .o objects in place in case we decided
  3846.     # not to build a shared library, and have fallen back to building
  3847.     # static libs even though --disable-static was passed!
  3848.     for oldobj in $oldobjs; do
  3849.       if test ! -f $oldobj; then
  3850.         xdir=`$echo "X$oldobj" | $Xsed -e 's%/[^/]*$%%'`
  3851.         if test "X$xdir" = "X$oldobj"; then
  3852.           xdir="."
  3853.         else
  3854.           xdir="$xdir"
  3855.         fi
  3856.         baseobj=`$echo "X$oldobj" | $Xsed -e 's%^.*/%%'`
  3857.         obj=`$echo "X$baseobj" | $Xsed -e "$o2lo"`
  3858.         $show "(cd $xdir && ${LN_S} $obj $baseobj)"
  3859.         $run eval '(cd $xdir && ${LN_S} $obj $baseobj)' || exit $?
  3860.       fi
  3861.     done
  3862.  
  3863.     eval cmds=\"$old_archive_cmds\"
  3864.       fi
  3865.       save_ifs="$IFS"; IFS='~'
  3866.       for cmd in $cmds; do
  3867.     IFS="$save_ifs"
  3868.     $show "$cmd"
  3869.     $run eval "$cmd" || exit $?
  3870.       done
  3871.       IFS="$save_ifs"
  3872.     done
  3873.  
  3874.     if test -n "$generated"; then
  3875.       $show "${rm}r$generated"
  3876.       $run ${rm}r$generated
  3877.     fi
  3878.  
  3879.     # Now create the libtool archive.
  3880.     case $output in
  3881.     *.la)
  3882.       old_library=
  3883.       test "$build_old_libs" = yes && old_library="$libname.$libext"
  3884.       $show "creating $output"
  3885.  
  3886.       # Preserve any variables that may affect compiler behavior
  3887.       for var in $variables_saved_for_relink; do
  3888.     if eval test -z \"\${$var+set}\"; then
  3889.       relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
  3890.     elif eval var_value=\$$var; test -z "$var_value"; then
  3891.       relink_command="$var=; export $var; $relink_command"
  3892.     else
  3893.       var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
  3894.       relink_command="$var=\"$var_value\"; export $var; $relink_command"
  3895.     fi
  3896.       done
  3897.       # Quote the link command for shipping.
  3898.       relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args)"
  3899.       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
  3900.  
  3901.       # Only create the output if not a dry run.
  3902.       if test -z "$run"; then
  3903.     for installed in no yes; do
  3904.       if test "$installed" = yes; then
  3905.         if test -z "$install_libdir"; then
  3906.           break
  3907.         fi
  3908.         output="$output_objdir/$outputname"i
  3909.         # Replace all uninstalled libtool libraries with the installed ones
  3910.         newdependency_libs=
  3911.         for deplib in $dependency_libs; do
  3912.           case $deplib in
  3913.           *.la)
  3914.         name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
  3915.         eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
  3916.         if test -z "$libdir"; then
  3917.           $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
  3918.           exit 1
  3919.         fi
  3920.         newdependency_libs="$newdependency_libs $libdir/$name"
  3921.         ;;
  3922.           *) newdependency_libs="$newdependency_libs $deplib" ;;
  3923.           esac
  3924.         done
  3925.         dependency_libs="$newdependency_libs"
  3926.         newdlfiles=
  3927.         for lib in $dlfiles; do
  3928.           name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  3929.           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
  3930.           if test -z "$libdir"; then
  3931.         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
  3932.         exit 1
  3933.           fi
  3934.           newdlfiles="$newdlfiles $libdir/$name"
  3935.         done
  3936.         dlfiles="$newdlfiles"
  3937.         newdlprefiles=
  3938.         for lib in $dlprefiles; do
  3939.           name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
  3940.           eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
  3941.           if test -z "$libdir"; then
  3942.         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
  3943.         exit 1
  3944.           fi
  3945.           newdlprefiles="$newdlprefiles $libdir/$name"
  3946.         done
  3947.         dlprefiles="$newdlprefiles"
  3948.       fi
  3949.       $rm $output
  3950.       # place dlname in correct position for cygwin
  3951.       tdlname=$dlname
  3952.       case $host,$output,$installed,$module,$dlname in
  3953.         *cygwin*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
  3954.       esac
  3955.       $echo > $output "\
  3956. # $outputname - a libtool library file
  3957. # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
  3958. #
  3959. # Please DO NOT delete this file!
  3960. # It is necessary for linking the library.
  3961.  
  3962. # The name that we can dlopen(3).
  3963. dlname='$tdlname'
  3964.  
  3965. # Names of this library.
  3966. library_names='$library_names'
  3967.  
  3968. # The name of the static archive.
  3969. old_library='$old_library'
  3970.  
  3971. # Libraries that this one depends upon.
  3972. dependency_libs='$dependency_libs'
  3973.  
  3974. # Version information for $libname.
  3975. current=$current
  3976. age=$age
  3977. revision=$revision
  3978.  
  3979. # Is this an already installed library?
  3980. installed=$installed
  3981.  
  3982. # Files to dlopen/dlpreopen
  3983. dlopen='$dlfiles'
  3984. dlpreopen='$dlprefiles'
  3985.  
  3986. # Directory that this library needs to be installed in:
  3987. libdir='$install_libdir'"
  3988.       if test "$installed" = no && test $need_relink = yes; then
  3989.         $echo >> $output "\
  3990. relink_command=\"$relink_command\""
  3991.       fi
  3992.     done
  3993.       fi
  3994.  
  3995.       # Do a symbolic link so that the libtool archive can be found in
  3996.       # LD_LIBRARY_PATH before the program is installed.
  3997.       $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
  3998.       $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
  3999.       ;;
  4000.     esac
  4001.     exit 0
  4002.     ;;
  4003.  
  4004.   # libtool install mode
  4005.   install)
  4006.     modename="$modename: install"
  4007.  
  4008.     # There may be an optional sh(1) argument at the beginning of
  4009.     # install_prog (especially on Windows NT).
  4010.     if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
  4011.        # Allow the use of GNU shtool's install command.
  4012.        $echo "X$nonopt" | $Xsed | grep shtool > /dev/null; then
  4013.       # Aesthetically quote it.
  4014.       arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
  4015.       case $arg in
  4016.       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
  4017.     arg="\"$arg\""
  4018.     ;;
  4019.       esac
  4020.       install_prog="$arg "
  4021.       arg="$1"
  4022.       shift
  4023.     else
  4024.       install_prog=
  4025.       arg="$nonopt"
  4026.     fi
  4027.  
  4028.     # The real first argument should be the name of the installation program.
  4029.     # Aesthetically quote it.
  4030.     arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  4031.     case $arg in
  4032.     *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
  4033.       arg="\"$arg\""
  4034.       ;;
  4035.     esac
  4036.     install_prog="$install_prog$arg"
  4037.  
  4038.     # We need to accept at least all the BSD install flags.
  4039.     dest=
  4040.     files=
  4041.     opts=
  4042.     prev=
  4043.     install_type=
  4044.     isdir=no
  4045.     stripme=
  4046.     for arg
  4047.     do
  4048.       if test -n "$dest"; then
  4049.     files="$files $dest"
  4050.     dest="$arg"
  4051.     continue
  4052.       fi
  4053.  
  4054.       case $arg in
  4055.       -d) isdir=yes ;;
  4056.       -f) prev="-f" ;;
  4057.       -g) prev="-g" ;;
  4058.       -m) prev="-m" ;;
  4059.       -o) prev="-o" ;;
  4060.       -s)
  4061.     stripme=" -s"
  4062.     continue
  4063.     ;;
  4064.       -*) ;;
  4065.  
  4066.       *)
  4067.     # If the previous option needed an argument, then skip it.
  4068.     if test -n "$prev"; then
  4069.       prev=
  4070.     else
  4071.       dest="$arg"
  4072.       continue
  4073.     fi
  4074.     ;;
  4075.       esac
  4076.  
  4077.       # Aesthetically quote the argument.
  4078.       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
  4079.       case $arg in
  4080.       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*)
  4081.     arg="\"$arg\""
  4082.     ;;
  4083.       esac
  4084.       install_prog="$install_prog $arg"
  4085.     done
  4086.  
  4087.     if test -z "$install_prog"; then
  4088.       $echo "$modename: you must specify an install program" 1>&2
  4089.       $echo "$help" 1>&2
  4090.       exit 1
  4091.     fi
  4092.  
  4093.     if test -n "$prev"; then
  4094.       $echo "$modename: the \`$prev' option requires an argument" 1>&2
  4095.       $echo "$help" 1>&2
  4096.       exit 1
  4097.     fi
  4098.  
  4099.     if test -z "$files"; then
  4100.       if test -z "$dest"; then
  4101.     $echo "$modename: no file or destination specified" 1>&2
  4102.       else
  4103.     $echo "$modename: you must specify a destination" 1>&2
  4104.       fi
  4105.       $echo "$help" 1>&2
  4106.       exit 1
  4107.     fi
  4108.  
  4109.     # Strip any trailing slash from the destination.
  4110.     dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
  4111.  
  4112.     # Check to see that the destination is a directory.
  4113.     test -d "$dest" && isdir=yes
  4114.     if test "$isdir" = yes; then
  4115.       destdir="$dest"
  4116.       destname=
  4117.     else
  4118.       destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
  4119.       test "X$destdir" = "X$dest" && destdir=.
  4120.       destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
  4121.  
  4122.       # Not a directory, so check to see that there is only one file specified.
  4123.       set dummy $files
  4124.       if test $# -gt 2; then
  4125.     $echo "$modename: \`$dest' is not a directory" 1>&2
  4126.     $echo "$help" 1>&2
  4127.     exit 1
  4128.       fi
  4129.     fi
  4130.     case $destdir in
  4131.     [\\/]* | [A-Za-z]:[\\/]*) ;;
  4132.     *)
  4133.       for file in $files; do
  4134.     case $file in
  4135.     *.lo) ;;
  4136.     *)
  4137.       $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
  4138.       $echo "$help" 1>&2
  4139.       exit 1
  4140.       ;;
  4141.     esac
  4142.       done
  4143.       ;;
  4144.     esac
  4145.  
  4146.     # This variable tells wrapper scripts just to set variables rather
  4147.     # than running their programs.
  4148.     libtool_install_magic="$magic"
  4149.  
  4150.     staticlibs=
  4151.     future_libdirs=
  4152.     current_libdirs=
  4153.     for file in $files; do
  4154.  
  4155.       # Do each installation.
  4156.       case $file in
  4157.       *.$libext)
  4158.     # Do the static libraries later.
  4159.     staticlibs="$staticlibs $file"
  4160.     ;;
  4161.  
  4162.       *.la)
  4163.     # Check to see that this really is a libtool archive.
  4164.     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  4165.     else
  4166.       $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
  4167.       $echo "$help" 1>&2
  4168.       exit 1
  4169.     fi
  4170.  
  4171.     library_names=
  4172.     old_library=
  4173.     relink_command=
  4174.     # If there is no directory component, then add one.
  4175.     case $file in
  4176.     */* | *\\*) . $file ;;
  4177.     *) . ./$file ;;
  4178.     esac
  4179.  
  4180.     # Add the libdir to current_libdirs if it is the destination.
  4181.     if test "X$destdir" = "X$libdir"; then
  4182.       case "$current_libdirs " in
  4183.       *" $libdir "*) ;;
  4184.       *) current_libdirs="$current_libdirs $libdir" ;;
  4185.       esac
  4186.     else
  4187.       # Note the libdir as a future libdir.
  4188.       case "$future_libdirs " in
  4189.       *" $libdir "*) ;;
  4190.       *) future_libdirs="$future_libdirs $libdir" ;;
  4191.       esac
  4192.     fi
  4193.  
  4194.     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
  4195.     test "X$dir" = "X$file/" && dir=
  4196.     dir="$dir$objdir"
  4197.  
  4198.     if test -n "$relink_command"; then
  4199.       $echo "$modename: warning: relinking \`$file'" 1>&2
  4200.       $show "$relink_command"
  4201.       if $run eval "$relink_command"; then :
  4202.       else
  4203.         $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
  4204.         continue
  4205.       fi
  4206.     fi
  4207.  
  4208.     # See the names of the shared library.
  4209.     set dummy $library_names
  4210.     if test -n "$2"; then
  4211.       realname="$2"
  4212.       shift
  4213.       shift
  4214.  
  4215.       srcname="$realname"
  4216.       test -n "$relink_command" && srcname="$realname"T
  4217.  
  4218.       # Install the shared library and build the symlinks.
  4219.       $show "$install_prog $dir/$srcname $destdir/$realname"
  4220.       $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
  4221.       if test -n "$stripme" && test -n "$striplib"; then
  4222.         $show "$striplib $destdir/$realname"
  4223.         $run eval "$striplib $destdir/$realname" || exit $?
  4224.       fi
  4225.  
  4226.       if test $# -gt 0; then
  4227.         # Delete the old symlinks, and create new ones.
  4228.         for linkname
  4229.         do
  4230.           if test "$linkname" != "$realname"; then
  4231.         $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  4232.         $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
  4233.           fi
  4234.         done
  4235.       fi
  4236.  
  4237.       # Do each command in the postinstall commands.
  4238.       lib="$destdir/$realname"
  4239.       eval cmds=\"$postinstall_cmds\"
  4240.       save_ifs="$IFS"; IFS='~'
  4241.       for cmd in $cmds; do
  4242.         IFS="$save_ifs"
  4243.         $show "$cmd"
  4244.         $run eval "$cmd" || exit $?
  4245.       done
  4246.       IFS="$save_ifs"
  4247.     fi
  4248.  
  4249.     # Install the pseudo-library for information purposes.
  4250.     name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4251.     instname="$dir/$name"i
  4252.     $show "$install_prog $instname $destdir/$name"
  4253.     $run eval "$install_prog $instname $destdir/$name" || exit $?
  4254.  
  4255.     # Maybe install the static library, too.
  4256.     test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
  4257.     ;;
  4258.  
  4259.       *.lo)
  4260.     # Install (i.e. copy) a libtool object.
  4261.  
  4262.     # Figure out destination file name, if it wasn't already specified.
  4263.     if test -n "$destname"; then
  4264.       destfile="$destdir/$destname"
  4265.     else
  4266.       destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4267.       destfile="$destdir/$destfile"
  4268.     fi
  4269.  
  4270.     # Deduce the name of the destination old-style object file.
  4271.     case $destfile in
  4272.     *.lo)
  4273.       staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
  4274.       ;;
  4275.     *.$objext)
  4276.       staticdest="$destfile"
  4277.       destfile=
  4278.       ;;
  4279.     *)
  4280.       $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
  4281.       $echo "$help" 1>&2
  4282.       exit 1
  4283.       ;;
  4284.     esac
  4285.  
  4286.     # Install the libtool object if requested.
  4287.     if test -n "$destfile"; then
  4288.       $show "$install_prog $file $destfile"
  4289.       $run eval "$install_prog $file $destfile" || exit $?
  4290.     fi
  4291.  
  4292.     # Install the old object if enabled.
  4293.     if test "$build_old_libs" = yes; then
  4294.       # Deduce the name of the old-style object file.
  4295.       staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
  4296.  
  4297.       $show "$install_prog $staticobj $staticdest"
  4298.       $run eval "$install_prog \$staticobj \$staticdest" || exit $?
  4299.     fi
  4300.     exit 0
  4301.     ;;
  4302.  
  4303.       *)
  4304.     # Figure out destination file name, if it wasn't already specified.
  4305.     if test -n "$destname"; then
  4306.       destfile="$destdir/$destname"
  4307.     else
  4308.       destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4309.       destfile="$destdir/$destfile"
  4310.     fi
  4311.  
  4312.     # Do a test to see if this is really a libtool program.
  4313.     case $host in
  4314.     *cygwin*|*mingw*)
  4315.         wrapper=`echo $file | sed -e 's,.exe$,,'`
  4316.         ;;
  4317.     *)
  4318.         wrapper=$file
  4319.         ;;
  4320.     esac
  4321.     if (sed -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
  4322.       notinst_deplibs=
  4323.       relink_command=
  4324.  
  4325.       # If there is no directory component, then add one.
  4326.       case $file in
  4327.       */* | *\\*) . $wrapper ;;
  4328.       *) . ./$wrapper ;;
  4329.       esac
  4330.  
  4331.       # Check the variables that should have been set.
  4332.       if test -z "$notinst_deplibs"; then
  4333.         $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
  4334.         exit 1
  4335.       fi
  4336.  
  4337.       finalize=yes
  4338.       for lib in $notinst_deplibs; do
  4339.         # Check to see that each library is installed.
  4340.         libdir=
  4341.         if test -f "$lib"; then
  4342.           # If there is no directory component, then add one.
  4343.           case $lib in
  4344.           */* | *\\*) . $lib ;;
  4345.           *) . ./$lib ;;
  4346.           esac
  4347.         fi
  4348.         libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
  4349.         if test -n "$libdir" && test ! -f "$libfile"; then
  4350.           $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
  4351.           finalize=no
  4352.         fi
  4353.       done
  4354.  
  4355.       relink_command=
  4356.       # If there is no directory component, then add one.
  4357.       case $file in
  4358.       */* | *\\*) . $wrapper ;;
  4359.       *) . ./$wrapper ;;
  4360.       esac
  4361.  
  4362.       outputname=
  4363.       if test "$fast_install" = no && test -n "$relink_command"; then
  4364.         if test "$finalize" = yes && test -z "$run"; then
  4365.           tmpdir="/tmp"
  4366.           test -n "$TMPDIR" && tmpdir="$TMPDIR"
  4367.           tmpdir="$tmpdir/libtool-$$"
  4368.           if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
  4369.           else
  4370.         $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
  4371.         continue
  4372.           fi
  4373.           file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4374.           outputname="$tmpdir/$file"
  4375.           # Replace the output file specification.
  4376.           relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
  4377.  
  4378.           $show "$relink_command"
  4379.           if $run eval "$relink_command"; then :
  4380.           else
  4381.         $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
  4382.         ${rm}r "$tmpdir"
  4383.         continue
  4384.           fi
  4385.           file="$outputname"
  4386.         else
  4387.           $echo "$modename: warning: cannot relink \`$file'" 1>&2
  4388.         fi
  4389.       else
  4390.         # Install the binary that we compiled earlier.
  4391.         file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
  4392.       fi
  4393.     fi
  4394.  
  4395.     # remove .exe since cygwin /usr/bin/install will append another
  4396.     # one anyways
  4397.     case $install_prog,$host in
  4398.     /usr/bin/install*,*cygwin*)
  4399.       case $file:$destfile in
  4400.       *.exe:*.exe)
  4401.         # this is ok
  4402.         ;;
  4403.       *.exe:*)
  4404.         destfile=$destfile.exe
  4405.         ;;
  4406.       *:*.exe)
  4407.         destfile=`echo $destfile | sed -e 's,.exe$,,'`
  4408.         ;;
  4409.       esac
  4410.       ;;
  4411.     esac
  4412.     $show "$install_prog$stripme $file $destfile"
  4413.     $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
  4414.     test -n "$outputname" && ${rm}r "$tmpdir"
  4415.     ;;
  4416.       esac
  4417.     done
  4418.  
  4419.     for file in $staticlibs; do
  4420.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4421.  
  4422.       # Set up the ranlib parameters.
  4423.       oldlib="$destdir/$name"
  4424.  
  4425.       $show "$install_prog $file $oldlib"
  4426.       $run eval "$install_prog \$file \$oldlib" || exit $?
  4427.  
  4428.       if test -n "$stripme" && test -n "$striplib"; then
  4429.     $show "$old_striplib $oldlib"
  4430.     $run eval "$old_striplib $oldlib" || exit $?
  4431.       fi
  4432.  
  4433.       # Do each command in the postinstall commands.
  4434.       eval cmds=\"$old_postinstall_cmds\"
  4435.       save_ifs="$IFS"; IFS='~'
  4436.       for cmd in $cmds; do
  4437.     IFS="$save_ifs"
  4438.     $show "$cmd"
  4439.     $run eval "$cmd" || exit $?
  4440.       done
  4441.       IFS="$save_ifs"
  4442.     done
  4443.  
  4444.     if test -n "$future_libdirs"; then
  4445.       $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
  4446.     fi
  4447.  
  4448.     if test -n "$current_libdirs"; then
  4449.       # Maybe just do a dry run.
  4450.       test -n "$run" && current_libdirs=" -n$current_libdirs"
  4451.       exec_cmd='$SHELL $0 --finish$current_libdirs'
  4452.     else
  4453.       exit 0
  4454.     fi
  4455.     ;;
  4456.  
  4457.   # libtool finish mode
  4458.   finish)
  4459.     modename="$modename: finish"
  4460.     libdirs="$nonopt"
  4461.     admincmds=
  4462.  
  4463.     if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
  4464.       for dir
  4465.       do
  4466.     libdirs="$libdirs $dir"
  4467.       done
  4468.  
  4469.       for libdir in $libdirs; do
  4470.     if test -n "$finish_cmds"; then
  4471.       # Do each command in the finish commands.
  4472.       eval cmds=\"$finish_cmds\"
  4473.       save_ifs="$IFS"; IFS='~'
  4474.       for cmd in $cmds; do
  4475.         IFS="$save_ifs"
  4476.         $show "$cmd"
  4477.         $run eval "$cmd" || admincmds="$admincmds
  4478.        $cmd"
  4479.       done
  4480.       IFS="$save_ifs"
  4481.     fi
  4482.     if test -n "$finish_eval"; then
  4483.       # Do the single finish_eval.
  4484.       eval cmds=\"$finish_eval\"
  4485.       $run eval "$cmds" || admincmds="$admincmds
  4486.        $cmds"
  4487.     fi
  4488.       done
  4489.     fi
  4490.  
  4491.     # Exit here if they wanted silent mode.
  4492.     test "$show" = ":" && exit 0
  4493.  
  4494.     echo "----------------------------------------------------------------------"
  4495.     echo "Libraries have been installed in:"
  4496.     for libdir in $libdirs; do
  4497.       echo "   $libdir"
  4498.     done
  4499.     echo
  4500.     echo "If you ever happen to want to link against installed libraries"
  4501.     echo "in a given directory, LIBDIR, you must either use libtool, and"
  4502.     echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
  4503.     echo "flag during linking and do at least one of the following:"
  4504.     if test -n "$shlibpath_var"; then
  4505.       echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
  4506.       echo "     during execution"
  4507.     fi
  4508.     if test -n "$runpath_var"; then
  4509.       echo "   - add LIBDIR to the \`$runpath_var' environment variable"
  4510.       echo "     during linking"
  4511.     fi
  4512.     if test -n "$hardcode_libdir_flag_spec"; then
  4513.       libdir=LIBDIR
  4514.       eval flag=\"$hardcode_libdir_flag_spec\"
  4515.  
  4516.       echo "   - use the \`$flag' linker flag"
  4517.     fi
  4518.     if test -n "$admincmds"; then
  4519.       echo "   - have your system administrator run these commands:$admincmds"
  4520.     fi
  4521.     if test -f /etc/ld.so.conf; then
  4522.       echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
  4523.     fi
  4524.     echo
  4525.     echo "See any operating system documentation about shared libraries for"
  4526.     echo "more information, such as the ld(1) and ld.so(8) manual pages."
  4527.     echo "----------------------------------------------------------------------"
  4528.     exit 0
  4529.     ;;
  4530.  
  4531.   # libtool execute mode
  4532.   execute)
  4533.     modename="$modename: execute"
  4534.  
  4535.     # The first argument is the command name.
  4536.     cmd="$nonopt"
  4537.     if test -z "$cmd"; then
  4538.       $echo "$modename: you must specify a COMMAND" 1>&2
  4539.       $echo "$help"
  4540.       exit 1
  4541.     fi
  4542.  
  4543.     # Handle -dlopen flags immediately.
  4544.     for file in $execute_dlfiles; do
  4545.       if test ! -f "$file"; then
  4546.     $echo "$modename: \`$file' is not a file" 1>&2
  4547.     $echo "$help" 1>&2
  4548.     exit 1
  4549.       fi
  4550.  
  4551.       dir=
  4552.       case $file in
  4553.       *.la)
  4554.     # Check to see that this really is a libtool archive.
  4555.     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
  4556.     else
  4557.       $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
  4558.       $echo "$help" 1>&2
  4559.       exit 1
  4560.     fi
  4561.  
  4562.     # Read the libtool library.
  4563.     dlname=
  4564.     library_names=
  4565.  
  4566.     # If there is no directory component, then add one.
  4567.     case $file in
  4568.     */* | *\\*) . $file ;;
  4569.     *) . ./$file ;;
  4570.     esac
  4571.  
  4572.     # Skip this library if it cannot be dlopened.
  4573.     if test -z "$dlname"; then
  4574.       # Warn if it was a shared library.
  4575.       test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
  4576.       continue
  4577.     fi
  4578.  
  4579.     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  4580.     test "X$dir" = "X$file" && dir=.
  4581.  
  4582.     if test -f "$dir/$objdir/$dlname"; then
  4583.       dir="$dir/$objdir"
  4584.     else
  4585.       $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
  4586.       exit 1
  4587.     fi
  4588.     ;;
  4589.  
  4590.       *.lo)
  4591.     # Just add the directory containing the .lo file.
  4592.     dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  4593.     test "X$dir" = "X$file" && dir=.
  4594.     ;;
  4595.  
  4596.       *)
  4597.     $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
  4598.     continue
  4599.     ;;
  4600.       esac
  4601.  
  4602.       # Get the absolute pathname.
  4603.       absdir=`cd "$dir" && pwd`
  4604.       test -n "$absdir" && dir="$absdir"
  4605.  
  4606.       # Now add the directory to shlibpath_var.
  4607.       if eval "test -z \"\$$shlibpath_var\""; then
  4608.     eval "$shlibpath_var=\"\$dir\""
  4609.       else
  4610.     eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
  4611.       fi
  4612.     done
  4613.  
  4614.     # This variable tells wrapper scripts just to set shlibpath_var
  4615.     # rather than running their programs.
  4616.     libtool_execute_magic="$magic"
  4617.  
  4618.     # Check if any of the arguments is a wrapper script.
  4619.     args=
  4620.     for file
  4621.     do
  4622.       case $file in
  4623.       -*) ;;
  4624.       *)
  4625.     # Do a test to see if this is really a libtool program.
  4626.     if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  4627.       # If there is no directory component, then add one.
  4628.       case $file in
  4629.       */* | *\\*) . $file ;;
  4630.       *) . ./$file ;;
  4631.       esac
  4632.  
  4633.       # Transform arg to wrapped name.
  4634.       file="$progdir/$program"
  4635.     fi
  4636.     ;;
  4637.       esac
  4638.       # Quote arguments (to preserve shell metacharacters).
  4639.       file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
  4640.       args="$args \"$file\""
  4641.     done
  4642.  
  4643.     if test -z "$run"; then
  4644.       if test -n "$shlibpath_var"; then
  4645.     # Export the shlibpath_var.
  4646.     eval "export $shlibpath_var"
  4647.       fi
  4648.  
  4649.       # Restore saved enviroment variables
  4650.       if test "${save_LC_ALL+set}" = set; then
  4651.     LC_ALL="$save_LC_ALL"; export LC_ALL
  4652.       fi
  4653.       if test "${save_LANG+set}" = set; then
  4654.     LANG="$save_LANG"; export LANG
  4655.       fi
  4656.  
  4657.       # Now prepare to actually exec the command.
  4658.       exec_cmd="\$cmd$args"
  4659.     else
  4660.       # Display what would be done.
  4661.       if test -n "$shlibpath_var"; then
  4662.     eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
  4663.     $echo "export $shlibpath_var"
  4664.       fi
  4665.       $echo "$cmd$args"
  4666.       exit 0
  4667.     fi
  4668.     ;;
  4669.  
  4670.   # libtool clean and uninstall mode
  4671.   clean | uninstall)
  4672.     modename="$modename: $mode"
  4673.     rm="$nonopt"
  4674.     files=
  4675.     rmforce=
  4676.     exit_status=0
  4677.  
  4678.     # This variable tells wrapper scripts just to set variables rather
  4679.     # than running their programs.
  4680.     libtool_install_magic="$magic"
  4681.  
  4682.     for arg
  4683.     do
  4684.       case $arg in
  4685.       -f) rm="$rm $arg"; rmforce=yes ;;
  4686.       -*) rm="$rm $arg" ;;
  4687.       *) files="$files $arg" ;;
  4688.       esac
  4689.     done
  4690.  
  4691.     if test -z "$rm"; then
  4692.       $echo "$modename: you must specify an RM program" 1>&2
  4693.       $echo "$help" 1>&2
  4694.       exit 1
  4695.     fi
  4696.  
  4697.     rmdirs=
  4698.  
  4699.     for file in $files; do
  4700.       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
  4701.       if test "X$dir" = "X$file"; then
  4702.     dir=.
  4703.     objdir="$objdir"
  4704.       else
  4705.     objdir="$dir/$objdir"
  4706.       fi
  4707.       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
  4708.       test $mode = uninstall && objdir="$dir"
  4709.  
  4710.       # Remember objdir for removal later, being careful to avoid duplicates
  4711.       if test $mode = clean; then
  4712.     case " $rmdirs " in
  4713.       *" $objdir "*) ;;
  4714.       *) rmdirs="$rmdirs $objdir" ;;
  4715.     esac
  4716.       fi
  4717.  
  4718.       # Don't error if the file doesn't exist and rm -f was used.
  4719.       if (test -L "$file") >/dev/null 2>&1 \
  4720.     || (test -h "$file") >/dev/null 2>&1 \
  4721.     || test -f "$file"; then
  4722.     :
  4723.       elif test -d "$file"; then
  4724.     exit_status=1
  4725.     continue
  4726.       elif test "$rmforce" = yes; then
  4727.     continue
  4728.       fi
  4729.  
  4730.       rmfiles="$file"
  4731.  
  4732.       case $name in
  4733.       *.la)
  4734.     # Possibly a libtool archive, so verify it.
  4735.     if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  4736.       . $dir/$name
  4737.  
  4738.       # Delete the libtool libraries and symlinks.
  4739.       for n in $library_names; do
  4740.         rmfiles="$rmfiles $objdir/$n"
  4741.       done
  4742.       test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
  4743.       test $mode = clean && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
  4744.  
  4745.       if test $mode = uninstall; then
  4746.         if test -n "$library_names"; then
  4747.           # Do each command in the postuninstall commands.
  4748.           eval cmds=\"$postuninstall_cmds\"
  4749.           save_ifs="$IFS"; IFS='~'
  4750.           for cmd in $cmds; do
  4751.         IFS="$save_ifs"
  4752.         $show "$cmd"
  4753.         $run eval "$cmd"
  4754.         if test $? != 0 && test "$rmforce" != yes; then
  4755.           exit_status=1
  4756.         fi
  4757.           done
  4758.           IFS="$save_ifs"
  4759.         fi
  4760.  
  4761.         if test -n "$old_library"; then
  4762.           # Do each command in the old_postuninstall commands.
  4763.           eval cmds=\"$old_postuninstall_cmds\"
  4764.           save_ifs="$IFS"; IFS='~'
  4765.           for cmd in $cmds; do
  4766.         IFS="$save_ifs"
  4767.         $show "$cmd"
  4768.         $run eval "$cmd"
  4769.         if test $? != 0 && test "$rmforce" != yes; then
  4770.           exit_status=1
  4771.         fi
  4772.           done
  4773.           IFS="$save_ifs"
  4774.         fi
  4775.         # FIXME: should reinstall the best remaining shared library.
  4776.       fi
  4777.     fi
  4778.     ;;
  4779.  
  4780.       *.lo)
  4781.     if test "$build_old_libs" = yes; then
  4782.       oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
  4783.       rmfiles="$rmfiles $dir/$oldobj"
  4784.     fi
  4785.     ;;
  4786.  
  4787.       *)
  4788.     # Do a test to see if this is a libtool program.
  4789.     if test $mode = clean &&
  4790.        (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
  4791.       relink_command=
  4792.       . $dir/$file
  4793.  
  4794.       rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
  4795.       if test "$fast_install" = yes && test -n "$relink_command"; then
  4796.         rmfiles="$rmfiles $objdir/lt-$name"
  4797.       fi
  4798.     fi
  4799.     ;;
  4800.       esac
  4801.       $show "$rm $rmfiles"
  4802.       $run $rm $rmfiles || exit_status=1
  4803.     done
  4804.  
  4805.     # Try to remove the ${objdir}s in the directories where we deleted files
  4806.     for dir in $rmdirs; do
  4807.       if test -d "$dir"; then
  4808.     $show "rmdir $dir"
  4809.     $run rmdir $dir >/dev/null 2>&1
  4810.       fi
  4811.     done
  4812.  
  4813.     exit $exit_status
  4814.     ;;
  4815.  
  4816.   "")
  4817.     $echo "$modename: you must specify a MODE" 1>&2
  4818.     $echo "$generic_help" 1>&2
  4819.     exit 1
  4820.     ;;
  4821.   esac
  4822.  
  4823.   if test -z "$exec_cmd"; then
  4824.     $echo "$modename: invalid operation mode \`$mode'" 1>&2
  4825.     $echo "$generic_help" 1>&2
  4826.     exit 1
  4827.   fi
  4828. fi # test -z "$show_help"
  4829.  
  4830. if test -n "$exec_cmd"; then
  4831.   eval exec $exec_cmd
  4832.   exit 1
  4833. fi
  4834.  
  4835. # We need to display help for each of the modes.
  4836. case $mode in
  4837. "") $echo \
  4838. "Usage: $modename [OPTION]... [MODE-ARG]...
  4839.  
  4840. Provide generalized library-building support services.
  4841.  
  4842.     --config          show all configuration variables
  4843.     --debug           enable verbose shell tracing
  4844. -n, --dry-run         display commands without modifying any files
  4845.     --features        display basic configuration information and exit
  4846.     --finish          same as \`--mode=finish'
  4847.     --help            display this help message and exit
  4848.     --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
  4849.     --quiet           same as \`--silent'
  4850.     --silent          don't print informational messages
  4851.     --version         print version information
  4852.  
  4853. MODE must be one of the following:
  4854.  
  4855.       clean           remove files from the build directory
  4856.       compile         compile a source file into a libtool object
  4857.       execute         automatically set library path, then run a program
  4858.       finish          complete the installation of libtool libraries
  4859.       install         install libraries or executables
  4860.       link            create a library or an executable
  4861.       uninstall       remove libraries from an installed directory
  4862.  
  4863. MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
  4864. a more detailed description of MODE."
  4865.   exit 0
  4866.   ;;
  4867.  
  4868. clean)
  4869.   $echo \
  4870. "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
  4871.  
  4872. Remove files from the build directory.
  4873.  
  4874. RM is the name of the program to use to delete files associated with each FILE
  4875. (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
  4876. to RM.
  4877.  
  4878. If FILE is a libtool library, object or program, all the files associated
  4879. with it are deleted. Otherwise, only FILE itself is deleted using RM."
  4880.   ;;
  4881.  
  4882. compile)
  4883.   $echo \
  4884. "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
  4885.  
  4886. Compile a source file into a libtool library object.
  4887.  
  4888. This mode accepts the following additional options:
  4889.  
  4890.   -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
  4891.   -prefer-pic       try to building PIC objects only
  4892.   -prefer-non-pic   try to building non-PIC objects only
  4893.   -static           always build a \`.o' file suitable for static linking
  4894.  
  4895. COMPILE-COMMAND is a command to be used in creating a \`standard' object file
  4896. from the given SOURCEFILE.
  4897.  
  4898. The output file name is determined by removing the directory component from
  4899. SOURCEFILE, then substituting the C source code suffix \`.c' with the
  4900. library object suffix, \`.lo'."
  4901.   ;;
  4902.  
  4903. execute)
  4904.   $echo \
  4905. "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
  4906.  
  4907. Automatically set library path, then run a program.
  4908.  
  4909. This mode accepts the following additional options:
  4910.  
  4911.   -dlopen FILE      add the directory containing FILE to the library path
  4912.  
  4913. This mode sets the library path environment variable according to \`-dlopen'
  4914. flags.
  4915.  
  4916. If any of the ARGS are libtool executable wrappers, then they are translated
  4917. into their corresponding uninstalled binary, and any of their required library
  4918. directories are added to the library path.
  4919.  
  4920. Then, COMMAND is executed, with ARGS as arguments."
  4921.   ;;
  4922.  
  4923. finish)
  4924.   $echo \
  4925. "Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
  4926.  
  4927. Complete the installation of libtool libraries.
  4928.  
  4929. Each LIBDIR is a directory that contains libtool libraries.
  4930.  
  4931. The commands that this mode executes may require superuser privileges.  Use
  4932. the \`--dry-run' option if you just want to see what would be executed."
  4933.   ;;
  4934.  
  4935. install)
  4936.   $echo \
  4937. "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
  4938.  
  4939. Install executables or libraries.
  4940.  
  4941. INSTALL-COMMAND is the installation command.  The first component should be
  4942. either the \`install' or \`cp' program.
  4943.  
  4944. The rest of the components are interpreted as arguments to that command (only
  4945. BSD-compatible install options are recognized)."
  4946.   ;;
  4947.  
  4948. link)
  4949.   $echo \
  4950. "Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
  4951.  
  4952. Link object files or libraries together to form another library, or to
  4953. create an executable program.
  4954.  
  4955. LINK-COMMAND is a command using the C compiler that you would use to create
  4956. a program from several object files.
  4957.  
  4958. The following components of LINK-COMMAND are treated specially:
  4959.  
  4960.   -all-static       do not do any dynamic linking at all
  4961.   -avoid-version    do not add a version suffix if possible
  4962.   -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
  4963.   -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
  4964.   -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
  4965.   -export-symbols SYMFILE
  4966.             try to export only the symbols listed in SYMFILE
  4967.   -export-symbols-regex REGEX
  4968.             try to export only the symbols matching REGEX
  4969.   -LLIBDIR          search LIBDIR for required installed libraries
  4970.   -lNAME            OUTPUT-FILE requires the installed library libNAME
  4971.   -module           build a library that can dlopened
  4972.   -no-fast-install  disable the fast-install mode
  4973.   -no-install       link a not-installable executable
  4974.   -no-undefined     declare that a library does not refer to external symbols
  4975.   -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  4976.   -release RELEASE  specify package release information
  4977.   -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  4978.   -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  4979.   -static           do not do any dynamic linking of libtool libraries
  4980.   -version-info CURRENT[:REVISION[:AGE]]
  4981.             specify library version info [each variable defaults to 0]
  4982.  
  4983. All other options (arguments beginning with \`-') are ignored.
  4984.  
  4985. Every other argument is treated as a filename.  Files ending in \`.la' are
  4986. treated as uninstalled libtool libraries, other files are standard or library
  4987. object files.
  4988.  
  4989. If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
  4990. only library objects (\`.lo' files) may be specified, and \`-rpath' is
  4991. required, except when creating a convenience library.
  4992.  
  4993. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
  4994. using \`ar' and \`ranlib', or on Windows using \`lib'.
  4995.  
  4996. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
  4997. is created, otherwise an executable program is created."
  4998.   ;;
  4999.  
  5000. uninstall)
  5001.   $echo \
  5002. "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
  5003.  
  5004. Remove libraries from an installation directory.
  5005.  
  5006. RM is the name of the program to use to delete files associated with each FILE
  5007. (typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
  5008. to RM.
  5009.  
  5010. If FILE is a libtool library, all the files associated with it are deleted.
  5011. Otherwise, only FILE itself is deleted using RM."
  5012.   ;;
  5013.  
  5014. *)
  5015.   $echo "$modename: invalid operation mode \`$mode'" 1>&2
  5016.   $echo "$help" 1>&2
  5017.   exit 1
  5018.   ;;
  5019. esac
  5020.  
  5021. echo
  5022. $echo "Try \`$modename --help' for more information about other modes."
  5023.  
  5024. exit 0
  5025.  
  5026. # Local Variables:
  5027. # mode:shell-script
  5028. # sh-indentation:2
  5029. # End:
  5030.